Most Influential HR Leaders Leading the Corporate World, 2024 (Final file).pdf
Troubleshooting Technical SEO Problems - Patrick Stox - Raleigh SEO Meetup
1. Patrick Stox | @patrickstox #SEOMeetup
Troubleshooting Technical SEO Issues
2. Patrick Stox | @patrickstox #SEOMeetup
Did Anything Change?
Content
Theme
Title tag
Heading Tags
Website Structure
Canonical
3. Patrick Stox | @patrickstox #SEOMeetup
How To See What Changed?
Internet Archive Wayback Machine: http://archive.org/web/
You can even get archived versions of your robots.txt file
Crawl Comparisons
https://www.deepcrawl.com/
Site Monitoring
http://www.pagemodified.com/, https://www.contentkingapp.com/,
https://littlewarden.com
4. Patrick Stox | @patrickstox #SEOMeetup
Redirects
Ahrefs Site Explorer > Best by links > filter by 404
Fixing redirects is usually one of the easiest wins of an SEO campaign.
5. Patrick Stox | @patrickstox #SEOMeetup
Redirects
Try previous versions of pages if you know them or check archive.org and
see if and how they are redirecting. Sometimes they may be redirecting,
but not to the preferred location.
https://searchengineland.com/fixing-historical-redirects-using-wayback-machine-
apis-257628
Make sure any domains you had redirected are still registered and if they
had a security certificate that it hasn’t expired.
6. Patrick Stox | @patrickstox #SEOMeetup
Redirect Location
DNS level
CDN level
Server level (for Apache .htaccess or the server config)
HTTP header response
Language based (PHP, JS, meta refresh, etc)
7. Patrick Stox | @patrickstox #SEOMeetup
Status Code
200 – OK
301 – Permanent Redirect (as long as it’s in place)
302 – Temporary Redirect (may keep indexing at original URL)
307 – mostly browser cached these days. Could be a 302 or a 301 (check in
private / incognito
404 – Not Found
410 – Gone
418 – I’m a teapot
50x – different errors
Pages may not show the correct code. Could be an error page with a 200 status.
Check all the hops. Chrome Dev Tools, Ayima Redirect Path, Link Redirect Trace
8. Patrick Stox | @patrickstox #SEOMeetup
Links
External
Any removed, nofollowed. Ahrefs, Moz, Majestic, SEMrush
Internal
Related posts removed, pages deleted, nofollow added to links or pages
9. Patrick Stox | @patrickstox #SEOMeetup
Anything Blocked or Noindexed?
Check on-page elements (canonical, meta robots, pagination, hreflang)
Robots.txt – check which folders are being blocked, also look for noindex in
robots.txt (not officially supported). If anything is blocked from crawling,
Google can’t see the content and can’t see on-page elements they need
to consolidate signals.
Meta robots values: noindex, nofollow, none (none doesn’t mean there isn’t one,
it = noindex, nofollow)
10. Patrick Stox | @patrickstox #SEOMeetup
Multiple Tags
Did any new sets of tags appear that might conflict with others?
Could have additional tags because of a theme change or plugin/module
added.
For instance, if you have 2 robots meta tags that are index and one that is
noindex, Google will likely obey the noindex.
11. Patrick Stox | @patrickstox #SEOMeetup
Tags in Multiple Locations
Canonical – <head>, HTTP Header. Also impact it: preferred version in GSC,
redirects, sitemap.
Noindex – <head>, HTTP Header, robots.txt (unofficially).
Hreflang – <head>, HTTP Header, sitemap.
12. Patrick Stox | @patrickstox #SEOMeetup
Tags Injected
A tag may not show in the source if it is injected during the page load. You should
see it in the rendered DOM (use Inspect). Google will likely not see these
on the first pass, but after the page is sent to the renderer these would be
picked up.
Example: nofollow injected on outbound links will probably be counted as follow
initially, then counted as nofollow later after it’s run through the WRS
(Web Rendering Service).
13. Patrick Stox | @patrickstox #SEOMeetup
Google Search Console
URL Parameter settings – make sure if you set these up that they are doing what
you want them to.
URL Removal Tool – Did anyone remove these URLs?
Disavow file – Did someone disavow any links that may have been helping?
14. Patrick Stox | @patrickstox #SEOMeetup
Broken <head>
Sometimes scripts or iframes or just anything not coded correctly can break the
<head> section early. You will not see this with view-source, but may see it
with Inspect or Inspect Element to see the rendered DOM (Document
Object Model).
15. Patrick Stox | @patrickstox #SEOMeetup
What Google Sees
Download Chrome 41. Win | Mac
Use Fetch and Render in Google Search Console
Rich Results Tool https://search.google.com/test/rich-results
Change User-Agent to Googlebot. Chrome Dev Tools or User-Agent Switcher
New Google Search Console Index Coverage Report
https://search.google.com/search-console
16. Patrick Stox | @patrickstox #SEOMeetup
How Things Work Together
Blocking crawling in robots.txt means nothing on the page gets seen and nothing
gets consolidated.
Noindex a page will break hreflang tags, so will redirects and canonical tags to
a page other than the one specified.
Noindex a page that has a canonical set as another page. Google isn’t
necessarily consistent with this one. They see you’re trying to set a
preferred version with the noindex, so they may drop one version of the
page, still count that page for part of the set and ignore noindex, or in rare
cases pass the noindex value to both pages.
*A lot of things can go wrong. Many times lots of signals add up.
17. Patrick Stox | @patrickstox #SEOMeetup
Another Page Showing
Add &filter=0 to the end of the URL for your Google Search.
google.com/more-stuff-here&filter=0
This removes filters like domain clustering and shows when there are multiple
pages on your website eligible for a query, which may indicate that they
should be combined.
18. Patrick Stox | @patrickstox #SEOMeetup
Site:domain.com
A site:domain.com search can reveal a wealth of knowledge about a website. I
would be looking for pages that are indexed in ways I wouldn’t expect,
such as with parameters, pages in site sections I may not know about, and
any issues with pages being indexed that shouldn’t be (like a dev server).
19. Patrick Stox | @patrickstox #SEOMeetup
Site:domain.com “text from your site”
A single term can show you relevant pages on your website related to that term
which can give you internal link or content consolidation opportunities. It
also shows if you’re eligible for a featured snippet that may not show.
If you use a phrase instead of a keyword, this can be used to check if content is
being picked up by Google, which is handy on websites that are
JavaScript-driven. If it shows other websites with the same content, it may
indicate that content is being copied.
20. Patrick Stox | @patrickstox #SEOMeetup
Cache:https://www.domain.com/page
Shows you Google’s cache of the page. This is typically a snapshot of the HTML
and should not be used for dynamic (JS) websites. If it shows a different
page or a different domain or a different language, it indicates some
issues around consolidating indexing signals, duplicate content, or
crawling.
21. Patrick Stox | @patrickstox #SEOMeetup
Cache:https://www.domain.com/page
In this example, the pages are the same so Google knows about all versions but
usually wants to return one (it can return others) in the search results and the
cache shows the canonicalized version.
22. Patrick Stox | @patrickstox #SEOMeetup
Info:https://www.domain.com/page
This command will let you know if a page is indexed and how it is indexed.
Multiple pages can be in the same set, like multiple records of different URLs
grouped together. “You have 5 versions of this page with the same content that
we know about, but we think this is the main one.”
Most of the time, Google will return the version shown, but it can sometimes pull
one of the other pages.
23. Patrick Stox | @patrickstox #SEOMeetup
Info:https://www.domain.com/page
Marketo has their hreflang tags right, but because they use the same content on
each they end up with just one version showing.
24. Patrick Stox | @patrickstox #SEOMeetup
Rules For User-Agents Or Autoredirecting
You have to be careful with these. Google crawls from the US mostly and may be
shown the wrong content, then funky things can happen.
The homepage is missing.
25. Patrick Stox | @patrickstox #SEOMeetup
Rules For User-Agents Or Autoredirecting
Info: shows the French page is being treated as the US page.
26. Patrick Stox | @patrickstox #SEOMeetup
Rules For User-Agents Or Autoredirecting
There’s some kind of JS that’s redirecting the cache of Coursera to an error
page.
27. Patrick Stox | @patrickstox #SEOMeetup
Rules For User-Agents Or Autoredirecting
The cached version of the page shows the English content.