This is a test report on the testing I performed after migrating my blogs on 28th December 2018, from 14:00 - 18:26.
What happened?
I have merged the blog content from my main domains:
blog.eviltester.com
blog.javafortesters.com
seleniumsimplified.com
They are now all part of eviltester.com with the main index page at eviltester.com/blog or blog.eviltester.com
This was all for SEO and web marketing purposes but it was a fairly major migration and was relatively high risk since it all had to be done in production.
I made a few mistakes along the way and so you might have seen the DNS routing provide 404s at certain points, but over the festive period I didn’t think too many people would notice.
Basic Testing
To test it I manually visited:
http://blog.eviltester.com
https://blog.eviltester.com
http://blog.javafortesters.com
https://blog.javafortesters.com
http://seleniumsimplified.com
https://seleniumsimplified.com
During the above process I realised that I didn’t actually have https setup on JavaForTesters.com
or SeleniumSimplified.com
so I had to set that up as well - which added additional risk to my migration process.
I also found that I hadn’t migrated JavaForTesters.com
on to my cloud hosting account and was still on the ‘free’ plan which I received with the domain, so I had to migrate it across as well.
This migration caught a few of my outstanding todos.
High Severity Risk Testing - indexed links
The biggest risks to me were:
- do the old links on google still work?
- do the links from twitter etc. still work?
- do the RSS feeds still work?
To test this:
- “site:blog.javafortesters.com inurl:2018” on Google
- “site:blog.javafortesters.com 2018” on Bing
- “site:blog.eviltester.com inurl:2018” on Google
- “site:blog.eviltester.com 2018” on Bing
- “site:seleniumsimplified.com inurl:2018” on Google
- “site:seleniumsimplified.com 2018” on Bing
Then I chose a random sampling of links indexed by Google and Bing and checked if they redirected to the new locations on EvilTester.com
I wanted to make sure:
- a 301 response was generated
- I linked to the correct page
I wasn’t sure working with different browsers would make a difference, but I tried on Chrome, Firefox and Safari
- Java For Testers was generating a 302, so I had to fix that.
- Eviltester redirects were working in Chrome, but giving me an SSL certificate error in Firefox and Safari
OK - that was a serious problem as I want to retain the indexes in bing and google for SEO purposes
Fixing the SSL error on blog.eviltester.com
After a ‘chat’ with the web hosting support it seems like I need to create blog.eviltester.com as a ‘website’ rather than a subdomain in the hosting as I use.
So I did that and added the .htaccess
file and it seemed to work.
OK, but Why does it work for blog.javafortesters.com and not for blog.eviltester.com?
I’m not sure, it might be because I had https setup on blogger for EvilTester.com and not for JavaForTesters.com?
So all the indexes for blog.javafortesters.com
are http and not https?
Looks like it.
So if I use https for any of those blog.javafortesters.com
links then we will get the same error?
I don’t know… let me try… yes.
OK… better fix that then.
Fixing the SSL error on blog.javafortesters.com
- delete the subdomain for blog on
javafortesters.com
- recreate it as a website
- add letsencrypt SSL
- create ftp account
- add the .htaccess redirects
Quick sample test and that seems to work.
High Severity Risk Testing - RSS Feeds Redirect
RSS feeds.
The RSS Feeds I need work with are:
- seleniumsimplified.com/feed
- blog.eviltester.com/feeds/posts/default
- blog.javafortesters.com/feeds/posts/default
In the new site I have
- eviltester.com/index.xml
And, as a bonus because I’m using Hugo - rss feeds everywhere, so I have one for the Selenium Simplified posts and the Java For Testers posts.
- eviltester.com/blog/seleniumsimplified/index.xml
- eviltester.com/blog/javafortesters/index.xml
Ideally the old blog feeds for selenium simplified and java for testers should map to the sub folder index.xml and evil tester feed can map to the main feed.
This keeps the semantics of Selenium Simplified and Java For Testers so the old feeds for subscribers should be much the same, but since I want a single feed going forward on the Evil Tester brand then the full feed is a better match.
I’m going to test these links using incognito/private browsing mode
- http://seleniumsimplified.com/feed
- http://blog.eviltester.com/feeds/posts/default
- http://blog.javafortesters.com/feeds/posts/default
- https://seleniumsimplified.com/feed
- https://blog.eviltester.com/feeds/posts/default
- https://blog.javafortesters.com/feeds/posts/default
And I’ll use Firefox since that showed me SSL issues last time.
And no SSL issues this time, but the Java For Testers was linking to the top Evil Tester feed, so I made a mistake in the Java For Testers .htaccess
file.
Fixed that.
RSS Feed population
I will create a blog post in each of my feeds and make sure it appears in my RSS feed.
But I’ll have to hurriedly write up something for Selenium Simplified and Java for Testers since both of these will also be reflected in my Evil Tester feed as well and I don’t want it to look like spam.
I wrote the following:
/blog/seleniumsimplified/2018-12-28-tactical-selenium-ide/
/2018/12/two-java-beginner-coding-tips.html
I will create a blog post in each of the old blogspot blogs and make sure it does not appear.
Sadly if someone has subscribed to the blogspot url versions then they won’t know about the updates so I’ll make that the content of the blog post.
https://javafortesters.blogspot.com/2018/12/this-blog-has-moved-to.html
https://theeviltester.blogspot.com/2018/12/this-blog-has-moved-to.html
This was a test I could only really make in live.
I’m checking the results in my existing news reader which is subscribed to the old Java For Testers, Selenium Simplified and Evil Tester feed.
I’ll need to make sure I subscribe to the new feeds and make sure they work:
https://www.eviltester.com/blog/javafortesters/index.xml
https://www.eviltester.com/blog/seleniumsimplified/index.xml
https://www.eviltester.com/index.xml
I managed to do this first before uploading all the new posts - because I was writing this blog post, as I did the testing and it is a record of my test approach and work done.
The new feeds seemed to work in Newsblur
Something I didn’t expect. The feeds for JavaForTesters and SeleniumSimplified are ‘partial’ rather than full feeds, i.e. they just have the title, link and preview information. The main Evil Tester feed is a full feed.
I didn’t notice this when viewing the xml in a browser - all I saw was ’text’, my tool didn’t support me observing the results as effectively as I could have.
I’ll add this to my possible todo list.
NOTE: I will add this to my ’try and fix’ list because while newsblur redirects on the old sites, seeing a partial view where there was once a full view breaks the semantics.
Feedburner
Because I used blogger, I think I used feedburner as well, and so I’ll need to check if those feeds are pointing to my new feeds.
They seem ok, and I can see I have some old blogs listed in there so I’ll need to trim that out later - added a todo.
What about the sites?
Since all of the Evil Tester stuff is in the main site, it will probably be OK.
And since the redirects seem to work, even if they point to the old stuff they should probably be fine.
But I’ll do a site review of:
https://seleniumsimplified.com
https://javafortesters.com
https://www.eviltester.com
RE: Selenium Simplified .com
- BUG: I had to do a quick hack edit as the blog was the main page, so there was no content on the index page
- fixed
- blog posts in header links off to evil tester as expected
- rss feed points to evil tester sub index
- BUG: the alternate link redirects - but it might be worth pointing that at the eviltester index directly
- BUG: there is no favicon - need to fix this
- I used TotalValidator Pro to perform a quick link check across the site
- this did find a few broken links which I suspect was present on SeleniumSimplified prior to moving the pages
- fixed these
- I suspect there might be a few in google index, but they will have been there for a while
- BUG: in general there are too many validation errors on site - need to fix the HTML
- TODO: need to add the Selenium Simplified blog feed to front page or sidebar?
RE: Java For Testers.com
- no obvious visual errors related to migration, although clearly this needs a review
- total validator pro found a broken link related to the migration
RE: Evil Tester.com
- no obvious issues but there are clearly validation errors throughout and it needs a 404 spring clean for external links
- BUG: need to point to sub blogs rather than categories in the blog section headers
- BUG: fix partial feeds for javafortesters and seleniumsimplified
Updated 6th January 2018
Clearly I had to perform more testing.
The above was the ‘high priority’ set of risks which I needed to do prior to launch.
I had to make a ‘risk based’ launch decision.
There were other risks I was less concerned about:
- missing images
- images being too large
- videos being too large
- css being ‘off’
- mixed http and https
- SEO
Missing Images
I was less concerned about missing images because:
- A link checking tool can pick that up
- Fairly quick fix: just drag files from one site folder to another
I found and fixed a few problems with missing images and will gradually iterate over the site:
- running a link checker,
- finding issues,
- spend some time fixing a few issues
I’m not tracking these issues because I assume the link checker will still find them next run, also its a time-boxed activity. I know it is an issue, I view it as low impact, I’ll keep iterating over it until no more issues are reported.
Content being too large
This was a problem with the existing blogs.
Content meaning: images, videos, slideshares and possibly other embeds.
I’m relying on Google Search Console and the Mobile Usability tool to highlight these issues
The Mobile Usability tool tells me, gradually, and over time, that some of my pages have Content Wider Than Screen. This is often an image that is too big.
Images being too large
I’ve created a shortcode in Hugo which I Can use to generate the HTML for responsive images. This will gradually allow me to fix this issue over time - and will force me to add more alt tags which should help accessibility in general.
Videos being too large
Each time I pasted in the ‘share & embed’ code from video sites it would be timebound code. i.e. next time I do it for a new blog post the video site has updated and new code is added, these had a mix of different video sizes and formatting.
I used a regex find and replace in IntelliJ on the new site to pick up most of the instances I could find.
I created a short code for youtube and vimeo which generates the appropriate embed code for responsive resizing.
This should make it easier for me to make these more accessible over time if there is an issue.
Slideshare being too large
Again, another problem with pasting in code over time.
I haven’t fixed all of these yet as they are less amenable to a find and replace because the old embed code does not have all the information required to find and replace, so I’ll need to manually convert these.
Bug: some slideshare images are too large and use old embed code
CSS being ‘off’
One reason for moving off Blogger was the horror of the Blogger generated HTML and the pain of formatting it via CSS.
And with a mix of multiple sites the CSS will be ‘off’ on some of the pages.
I will graduall fix this when I notice it.
I’m partly relying on the Google search console errors for “Clickable Elements Too Close Together” and “Text too small to read” and “Content Wider Than Screen”.
I will also perform a review of the CSS because I view the following as a ‘risk’ in CSS:
- percentage sizing of fonts (I should really use rem and em)
- the CSS is fully hard coded, at some point I’ll switch to SCSS
This is low priority and I’ll work on it over time.
mixed http and https
I do view this as a problem and prioritised it above the other issues.
This can often be solved by using relative links (//
)rather than hard coding http
or https
I performed a find and replace to identify obvious examples.
I also found the “Scrutiny 8” reporting of this issue useful.
SEO
My SEO strategy has been found severely wanting.
I will be working on this.
Scrutiny is good at picking up the most obvious items to improve, I’ll add in some additional tools later.
SEO is a known issue for my sites.
I did learn some interesting things about meta tags for keywords, robots; and about robots.txt
Main Tools I’ve used for checking my Web Site
- Scrutiny 8
- Very good general purpose web tool. I’m using it for link checking and to resolve the obvious gaps in my SEO strategy
- [Total Validator Pro] (https://www.totalvalidator.com/products/protool.html)
- Can pick up broken links, but with a lot of HTML standard validation issues they can be lost, so I use Scrutiny as my main link checking tool. Then Total Validator Pro is helping me address standard compliance and initial accessbility improvements.
- Google Search Console Mobile Usability
- once your ‘webmaster’ registers and validates your site, this can pick up some common issues as Google indexes your site.
Test Automation
I didn’t create any programmed automated execution. I relied on tools to help me.
All automated support was tactical i.e.
- I want to know X,
- use tool Y to scan for X,
- fix,
- repeat
When the site is ‘done’ I’ll schedule Scrutiny, Total Validator and other tools to scan the sites more often.
All in all
All in all. The migration went well. A few panics but fixable.
I’m glad I gave it a once through from a testing perspective after the development work.
There will always be more to find but hopefully nothing too bad that kills traffic.
I do need work on SEO and google analytics.
One benefit of ‘doing this myself’ rather than choosing Wordpress or a standard template is that I learn more.
My CSS, HTML, and Web skills improve, - this has a knock on effect on
- my ability to identify risk for production web sites
- my ability to communicate to front-end development staff
- my ability to fix front-end issues
I’m learning more about SEO, which should improve my business skills and possibilities.
Learning is often prioritised lower than ‘getting it out there’ i.e. people often outsource their web development to a tool like wordpress or a template.
I very often prioritise ’learning’ even though it means my stuff might be slightly less polished because of the massive knock on effects the learned knowledge has when I work with teams. And it provides me with more flexibility on how I want my web presence to operate.
I do open my self up to more ’errors’ that hopefully a more experienced web professional would not make, but I value the learning opportunities that they present. This is one of the decisions that we make around outsourcing.
Many companies outsource for ‘speed’ and ‘cost’ then fail to accrue the expected benefit, and additionally lose the opportunity to learn. I may choose to engage in periodic consultant reviews to give me an indication of issues and improvements, once I’ve covered the basics. This allows me to gain from external expertise, and retain the knowledge learned from the expert and the review. I much prefer this to outsourcing, and its why I’m a consultant.