Portakabin
portakabin.com
Action plan
The issues actually found on this site, highest-leverage first. Edits save automatically.
These URLs should be reviewed carefully to ensure the indexing and link signals are being consolidated to the correct URL. In a perfect world, a website wouldn't need to canonicalise any URLs as only canonical versions would be linked to internally on a website, but often they are required due to various circumstances outside of control, and to prevent duplicate content. Update internal links to canonical versions of URLs where possible.
Ensure that the canonical URL specified in the tag is both valid and indexable. This involves reviewing the canonical URLs to confirm they lead to indexable content and fixing any issues with the referenced pages to ensure they can be crawled and indexed by search engines
Hreflang URLs must be crawlable and indexable and therefore non-200 URLs are treated as errors, and ignored by the search engines.
Ensure that each page in the pagination has its own distinct URL within anchor tags, enabling search engines to properly crawl and index all relevant content.
Identify the specific error code and the associated URL causing the issue. Then take appropriate action, such as fixing broken links, creating custom 404 error pages with helpful information, or redirecting URLs to valid content, to ensure that users and search engines can access the desired content without encountering errors.
Ensure that each paginated page contains unique and valuable content that warrants indexing. Additionally, use rel="prev" and rel="next" link tags to indicate the relationship between the paginated pages, helping search engines understand the structure and importance of the content sequence, which can improve SEO performance for paginated content.
Utilise descriptive anchor text that clearly conveys the destination page's content or topic, as this helps both users and search engines understand the context and relevance of the linked content, ultimately improving site navigation and search rankings.
To effectively manage redirection response codes (3xx), implement redirects using best practices like 301 redirects for permanent changes and 302 redirects for temporary ones. Additionally, regularly monitor and update redirections to ensure they accurately reflect the website's structure and prevent broken links, preserving SEO rankings and providing a seamless user experience.
Write concise page titles to ensure important words are not truncated in the search results, not visible to users and potentially weighted less in scoring.
Consider updating the page title to take advantage of the space left to include additional target keywords or USPs.
Update duplicate page titles as necessary, so each page contains a unique and descriptive title for users and search engines. If these are duplicate pages, then fix the duplicated pages by linking to a single version, and redirect or use canonicals where appropriate.
Ensure that pages containing hreflang tags are indexable, allowing search engines to properly understand and display the relevant content to users searching in different languages and regions.
Ensure important pages have concise, descriptive and unique headings to help users, and enable search engines to score and rank the page for relevant search queries.
Uncompressed images bloat pages with unnecessary bytes, so ensure images are optimised with compression, properly scaled, and using the best image format to reduce file size where possible. Please note that the 100kb is more of a guideline, just ensure that all optimisation techniques have been explored to reduce the impact images have on performance without resulting in a significant loss of quality.
To maintain proper page structure and improve search engine optimization, it's important to use H1 tags judiciously and reserve them for the primary topic or title of the page.
Add descriptive and relevant alt attributes to images to improve accessibility and provide search engines with valuable context, potentially boosting organic search visibility for those images.
Add the "X-Default" hreflang tag to the HTML of your pages, specifying the default language and regional version. This ensures that search engines can correctly interpret your content when no other hreflang tags match or when user preferences are unknown, improving the accuracy of international SEO targeting. Additionally, regularly review and update your hreflang implementation to maintain the correctness of your default language and regional settings.
Update URLs to use the appropriate protocol (either HTTP or HTTPS) to ensure secure resource loading, maintaining both user safety and SEO best practices.
Review the missing anchor text where appropriate include useful and descriptive anchor text to help users and search engines.
Addressing this issue involves properly validating and securing the website's URL parameters and link structures to prevent unauthorised redirects, ensuring user safety, and maintaining a positive reputation in search engines' eyes. https://developer.chrome.com/en/docs/lighthouse/best-practices/external-anchors-use-rel-noopener/
Write concise meta descriptions to ensure important words are not truncated in the search results, and not visible to users.
Consider updating the meta description to take advantage of the space left to include additional benefits, USPs or call to actions to improve click through rates (CTR).
Update duplicate <h1>s as necessary, so important pages contain a unique and descriptive <h1> for users and search engines. If these are duplicate pages, then fix the duplicated pages by linking to a single version, and redirect or use canonicals where appropriate.
To fix a missing meta description, simply add a concise and relevant summary of the page's content within the <meta> tag of the HTML document's <head> section. Aim for around 150-160 characters to ensure it displays properly in search engine results and provides a clear preview of your page's content.
Update duplicate meta descriptions as necessary, so important pages contain a unique and descriptive title for users and search engines. If these are duplicate pages, then fix the duplicated pages by linking to a single version, and redirect or use canonicals where appropriate.
To maintain a clean and standardised URL structure, it's advisable to use lowercase letters consistently in URLs, which can improve both user experience and SEO performance by reducing potential duplication of content caused by case variations.
All checks & manual tracking (113)
| Issue | Type | Priority | Status | Owner | Raised | Validated | Additional Information | Epic | Potential Impact |
|---|---|---|---|---|---|---|---|---|---|
| Canonicalization 8 items | |||||||||
|
Canonicals: Canonical Is Relative
|
Opportunity | Low | — | — | |||||
|
Canonicals: Canonicalised
|
Warning | High | 22 Jun 2026 | — | |||||
|
Canonicals: Missing
|
Warning | Medium | — | — | |||||
|
Canonicals: Multiple
|
Issue | Medium | — | — | |||||
|
Canonicals: Multiple Conflicting
|
Issue | Medium | — | — | |||||
|
Canonicals: Non-Indexable Canonical
|
Issue | High | 22 Jun 2026 | — | |||||
|
Canonicals: Outside <head>
|
Issue | Medium | — | — | |||||
|
Canonicals: Unlinked
|
Issue | Medium | — | — | |||||
| Content 4 items | |||||||||
|
Content: Exact Duplicates
|
Issue | High | — | — | |||||
|
Content: Lorem Ipsum Placeholder
|
Issue | High | — | — | |||||
|
Content: Low Content Pages
|
Opportunity | Medium | 22 Jun 2026 | 22 Jun 2026 | |||||
|
Content: Near Duplicates
|
Opportunity | Low | — | — | |||||
| Core Web Vitals 2 items | |||||||||
|
Core Web Vitals: Desktop
manual tracking
|
Opportunity | High | — | — | |||||
|
Core Web Vitals: Mobile
manual tracking
|
Opportunity | High | — | — | |||||
| Directives 2 items | |||||||||
|
Directives: None
|
Warning | High | — | — | |||||
|
Directives: Outside <head>
|
Issue | High | — | — | |||||
| Duplication 2 items | |||||||||
|
Duplication: Consistent Trailing Slash Approach
manual tracking
|
Issue | High | — | — | |||||
|
Duplication: Duplicate Sites
manual tracking
|
Issue | High | — | — | |||||
| H1 3 items | |||||||||
|
H1: Duplicate
|
Opportunity | Low | 22 Jun 2026 | — | |||||
|
H1: Missing
|
Issue | Medium | 22 Jun 2026 | — | |||||
|
H1: Multiple
|
Warning | Medium | 22 Jun 2026 | — | |||||
| Hreflang 8 items | |||||||||
|
Hreflang: Incorrect Language & Region Codes
|
Issue | Medium | — | — | |||||
|
Hreflang: Missing
|
Warning | Low | — | — | |||||
|
Hreflang: Missing Return Links
|
Issue | High | — | — | |||||
|
Hreflang: Missing X-Default
|
Warning | Low | 22 Jun 2026 | — | |||||
|
Hreflang: Multiple Entries
|
Issue | High | — | — | |||||
|
Hreflang: Noindex Return Links
|
Issue | Medium | 22 Jun 2026 | — | |||||
|
Hreflang: Non-200 Hreflang URLs
|
Issue | High | 22 Jun 2026 | — | |||||
|
Hreflang: Outside <head>
|
Issue | Medium | — | — | |||||
| Images 4 items | |||||||||
|
Images: Missing Alt Attribute
|
Issue | Medium | 22 Jun 2026 | — | |||||
|
Images: Missing Alt Text
|
Issue | Low | — | — | |||||
|
Images: Missing Size Attributes
|
Opportunity | Low | — | — | |||||
|
Images: Over 100 KB
|
Opportunity | Medium | 22 Jun 2026 | — | |||||
| JavaScript 17 items | |||||||||
|
Javascript: Canonical Mismatch
|
Warning | Medium | — | — | |||||
|
JavaScript: Canonical Only in Rendered HTML
|
Warning | Low | — | — | |||||
|
JavaScript: Contains JavaScript Content
|
Warning | Medium | 22 Jun 2026 | 22 Jun 2026 | |||||
|
JavaScript: Contains JavaScript Links
|
Warning | Medium | 22 Jun 2026 | 22 Jun 2026 | |||||
|
JavaScript: H1 Only rendered in HTML
|
Warning | Medium | 22 Jun 2026 | 22 Jun 2026 | |||||
|
Javascript: H1 Updated by JavaScript
|
Warning | Medium | — | — | |||||
|
JavaScript: Meta Description Only in Rendered HTML
|
Warning | Medium | — | — | |||||
|
Javascript: Meta Description Updated by JavaScript
|
Warning | Medium | — | — | |||||
|
Javascript: Nofollow Only in Original HTML
|
Warning | Medium | — | — | |||||
|
Javascript: Noindex Only in Original HTML
|
Warning | Medium | — | — | |||||
|
JavaScript: Page Title Only rendered in HTML
|
Warning | Medium | — | — | |||||
|
JavaScript: Page Updated by JavaScript
|
Warning | Medium | 22 Jun 2026 | 22 Jun 2026 | |||||
|
JavaScript: Pages with Blocked Resources
|
Warning | Medium | 22 Jun 2026 | 22 Jun 2026 | |||||
|
Javascript: Pages with JavaScript Errors
|
Warning | Medium | — | — | |||||
|
JavaScript: Rendering
manual tracking
|
Warning | High | — | — | |||||
|
Javascript: Uses Old AJAX Crawling Scheme Meta Fragment Tag
|
Warning | Medium | — | — | |||||
|
Javascript: Uses Old AJAX Crawling Scheme URLs
|
Warning | Medium | — | — | |||||
| Links 4 items | |||||||||
|
Links: Internal Outlinks With No Anchor Text
|
Opportunity | Low | 22 Jun 2026 | — | |||||
|
Links: Links aren't crawlable
manual tracking
|
Issue | Low | — | — | |||||
|
Links: Non-Descriptive Anchor Text In Internal Outlinks
|
Issue | Medium | 22 Jun 2026 | — | |||||
|
Links: Non-Indexable Page Inlinks Only
|
Issue | Medium | — | — | |||||
| Meta Description 6 items | |||||||||
|
Meta Description: Below 70 Characters
|
Opportunity | Low | 22 Jun 2026 | — | |||||
|
Meta Description: Duplicate
|
Opportunity | Low | 22 Jun 2026 | — | |||||
|
Meta Description: Missing
|
Opportunity | Low | 22 Jun 2026 | — | |||||
|
Meta Description: Multiple
|
Issue | Medium | — | — | |||||
|
Meta Description: Outside <head>
|
Issue | Medium | — | — | |||||
|
Meta Description: Over 155 Characters
|
Opportunity | Low | 22 Jun 2026 | — | |||||
| Mobile 3 items | |||||||||
|
Mobile: Meta Viewport not set with width or initial scale
manual tracking
|
Issue | Medium | — | — | |||||
|
Mobile: Mobile Friendly
manual tracking
|
Issue | Medium | — | — | |||||
|
Mobile: Tap targets are not sized appropriately
manual tracking
|
Warning | Medium | — | — | |||||
| Page Titles 7 items | |||||||||
|
Page Titles: Below 30 Characters
|
Opportunity | Medium | 22 Jun 2026 | — | |||||
|
Page Titles: Duplicate
|
Opportunity | Medium | 22 Jun 2026 | — | |||||
|
Page Titles: Missing
|
Issue | High | — | — | |||||
|
Page Titles: Multiple
|
Issue | High | — | — | |||||
|
Page Titles: Outside <head>
|
Issue | High | — | — | |||||
|
Page Titles: Over 60 Characters
|
Opportunity | Medium | 22 Jun 2026 | — | |||||
|
Page Titles: Same as h1
|
Issue | Medium | — | — | |||||
| Pagination 6 items | |||||||||
|
Pagination: Multiple Pagination URLs
|
Issue | Medium | — | — | |||||
|
Pagination: Non-200 Pagination URL
|
Issue | Medium | — | — | |||||
|
Pagination: Non-Indexable
|
Warning | High | 22 Jun 2026 | — | |||||
|
Pagination: Pagination Loop
|
Issue | Medium | — | — | |||||
|
Pagination: Pagination URL Not In Anchor Tag
|
Issue | High | 22 Jun 2026 | — | |||||
|
Pagination: Sequence Error
|
Issue | Medium | — | — | |||||
| Response Codes 8 items | |||||||||
|
Response Codes: Blocked Resource
|
Issue | Medium | 22 Jun 2026 | 22 Jun 2026 | |||||
|
Response Codes: Client Error (4xx)
|
Warning | High | 22 Jun 2026 | — | |||||
|
Response Codes: No Response
|
Warning | Medium | — | — | |||||
|
Response Codes: Redirect Chain
|
Issue | High | — | — | |||||
|
Response Codes: Redirection (3xx)
|
Warning | Medium | 22 Jun 2026 | — | |||||
|
Response Codes: Redirection (JavaScript)
|
Issue | Medium | — | — | |||||
|
Response Codes: Redirection (Meta Refresh)
|
Issue | Medium | — | — | |||||
|
Response Codes: Server Error (5xx)
|
Warning | High | — | — | |||||
| Robots.txt 3 items | |||||||||
|
Robots.txt: File has format errors
manual tracking
|
Issue | Medium | — | — | |||||
|
Robots.txt: File not found
manual tracking
|
Issue | High | — | — | |||||
|
Robots.txt: Sitemap.xml not indicated
manual tracking
|
Issue | Medium | — | — | |||||
| Security 7 items | |||||||||
|
Security: Bad Content Type
|
Issue | Medium | 22 Jun 2026 | 22 Jun 2026 | |||||
|
Security: Form on HTTP URL
|
Issue | High | — | — | |||||
|
Security: HTTP URLs
|
Issue | High | — | — | |||||
|
Security: Mixed Content
|
Warning | Low | — | — | |||||
|
Security: Protocol-Relative Resource Links
|
Warning | Low | 22 Jun 2026 | — | |||||
|
Security: Review Security Headers
manual tracking
|
Warning | Low | — | — | |||||
|
Security: Unsafe Cross-Origin Links
|
Warning | Low | 22 Jun 2026 | — | |||||
| Site Hierarchy 1 item | |||||||||
|
Site Hierarchy: Breadcrumb Trail
manual tracking
|
Opportunity | Low | — | — | |||||
| Sitemap 4 items | |||||||||
|
Sitemap: No XML Sitemap
manual tracking
|
Issue | High | — | — | |||||
|
Sitemap: Non-Indexable URLs in Sitemap
|
Issue | Medium | — | — | |||||
|
Sitemap: XML Sitemap With Over 50k URLs
|
Issue | High | — | — | |||||
|
Sitemap: XML Sitemap With Over 50mb
|
Issue | High | — | — | |||||
| Structured Data 5 items | |||||||||
|
Structured Data: Breadcrumb Schema
manual tracking
|
Warning | Medium | — | — | |||||
|
Structured Data: FAQ Schema
manual tracking
|
Warning | Medium | — | — | |||||
|
Structured Data: Open Graph Protocol
manual tracking
|
Issue | Low | — | — | |||||
|
Structured Data: Organization Schema
manual tracking
|
Warning | Medium | — | — | |||||
|
Structured Data: Product Reviews & Ratings Schema
manual tracking
|
Warning | Medium | — | — | |||||
| URL 7 items | |||||||||
|
URL: Contains A Space
|
Issue | Low | — | — | |||||
|
URL: Historical Redirects
manual tracking
|
Issue | Medium | — | — | |||||
|
URL: Multiple Slashes
|
Issue | Low | — | — | |||||
|
URL: Non ASCII Characters
|
Warning | Low | — | — | |||||
|
URL: Repetitive Path
|
Warning | Low | — | — | |||||
|
URL: Underscores
|
Opportunity | Low | — | — | |||||
|
URL: Uppercase
|
Warning | Low | 22 Jun 2026 | — | |||||
| llms.txt 1 item | |||||||||
|
Missing llms.txt file
manual tracking
|
Opportunity | Medium | — | — | |||||
| URL 1 item | |||||||||
|
URL: www vs non-www
manual tracking
|
Issue | High | — | — | |||||