[MTW Toolbox] SEO & some changes 👨‍💻

in development •  last month 

UpdateMTW.png

Here's a brief overview of the changes made to the MTW Toolbox, an application you can use to get information about HIVE witnesses and manage your votes for them.

If you missed the application introduction post it's here : [MTW Toolbox] A new view of witnesses 👨‍💻

SEO

2 weeks only the application is online and already a beginning of indexing by Google. I wasn't expecting it so early and hadn't finished optimizing the SEO management service of the application yet. In any case I am positively surprised by the progress made by Google in indexing Angular Progressive Web Application (no SSR).

roelanpseo.png

The first to benefit is @roelandp which sees its witness page indexed by Google. So I couldn't stop myself from doing some queries, here are the results.

search terms:

roelandp witness (92,600 results) = 28th position
roelandp witness hive (39,500 results) = 5th position
roelandp witness hive witness (13,200 results) = 6th position
roelandp steemfest witness (12,100 results) = 22th position

roelandp real time blocks (8,420 results) = 2th position
roelandp real time hive (33,100 results) = 5th position

roelandp blocks produced (42,100 results) = 14th position

Bug fixes

Regex

I realized that I had misinterpreted the username constraints on the blockchain and had to change my regular expression by this one:

/^([a-zA-Z][0-9a-zA-Z]{0,})+(([.-][a-zA-Z][0-9a-zA-Z]{0,})?)+(([.-][a-zA-Z][0-9a-zA-Z]{0,})?)+([.-][a-zA-Z][0-9a-zA-Z]{0,})?$/

Which gives this inside my group of FormControl instances

    /** FormGroup */
    this.LoginUserForm = fb.group({
      username   :  [
        null,
        Validators.compose([
          Validators.required,
          Validators.minLength(3),
          Validators.maxLength(16),
          Validators.pattern(
            // tslint:disable-next-line: max-line-length
            /^([a-zA-Z][0-9a-zA-Z]{0,})+(([\.-][a-zA-Z][0-9a-zA-Z]{0,})?)+(([\.-][a-zA-Z][0-9a-zA-Z]{0,})?)+([\.-][a-zA-Z][0-9a-zA-Z]{0,})?$/
          )
        ]),
        this.U.checkUsername.bind(U)
      ],
    });
List of the last witness's posts

I also had to make some corrections to the witness's last post list. I confess I skipped if it was a post or a reblog as well as if it was a cross post. Which led to something not so great.

before.png

So now the avatar and username of the original author appear well. I took the opportunity to add the main tag and if it's a community post to display the name of the community. To do this I used the bridge.get_community method. I don't know why I couldn't use this method via dsteem (client.call) so I used a direct call.

const community: any = await this.Web.postOutside(
  environment.Hive.api,
  {
  jsonrpc: '2.0',
  method: 'bridge.get_community',
  params: {name: p.category, observer: 'mintrawa'},
  id: 1
  }
);

Here's the result taking the same posts line as before.

after.png

That's it for this time 😊



[ Vote | Resteem | Comment ]
THANKS :)

Last posts
My 1st HIVE block engraved in the rock 🏆
[MTW Toolbox] A new view of witnesses 👨‍💻

[WITNESS server - part I] - Setup & Tuning Ubuntu 18.04
[WITNESS server - part II] - HIVE - The manual way
[WITNESS server - part III] Wallet and Price Feed

My witness presentation: @mintrawa a Gen X - Geek 🤓 Gamer 🎮 Traveler ⛩️ Witness
Upvote for my witness: https://toolbox.mintrawa.com/witnesses/@mintrawa or click here via HiveSigner

mywitness.png

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!