B+ · Good

Page SEO Inspection

https://hmydouttours.com/
Crawled 12 Nov, 23:08 UTC (15 hr ago)
HTTP 200 213 KB 440 ms TTFB
Download PDF

PDF export is a paid feature

A PDF of the full report, ready to send to a client or a colleague, comes with Basic at $19 a month and every plan above it, along with saved history. The report itself stays free to read.

See the plans
On-Page Checklist 69% Complete
Primary focus: Largest Contentful Paint is 5.3s (lab data), above the 2.5s target and in the poor range. Fix now →
Filter:

Full diagnostics

Every check that ran, grouped by what it affects. Problems appear first in each group.

Meta Tags & Search Snippet Simulator

The tags that decide how this page is titled and described in search results.

! 1i 10% · needs work
Live snippet simulation
Title width: 218px / 580px
H Hmydout Tours hmydouttours.com
Accueil - Hmydout Tours

No meta description, Google will generate a snippet from the page.

Meta description

The page has no meta description, so search engines will improvise the snippet.

How to fix
How to fix
<meta name="description" content="A 120 to 160 character summary with a clear call to action.">
Title tag 218px of 580px

The title is 23 characters. Short titles are fine, but there may be room to say more about what the page offers.

Rendered width

Desktop218px/ 580px
Mobile197px/ 920px

Measured in Arial at the size Google renders result titles, accurate to within a fraction of a percent of a browser. Characters: 23.

Crawling & indexing

Whether search engines can reach, read and index this page at all.

i 1✓ 1694% · excellent
www and https versions 1 found

The other spellings of this address arrive here, but not in one permanent step: a chain costs time on every visit, and a temporary redirect tells search engines the move may not last.

http://www.hmydouttours.com/ → 301 → 301 → https://hmydouttours.com/ (2 redirects)
How to fix
How to fix
Redirect each spelling straight to the final address with a 301 or 308.
HTTP status HTTP 200

The page returns 200 OK.

Redirect chain

The URL resolves without redirects.

Robots directives

No directive prevents indexing.

Canonical tag

The canonical correctly references this page.

https://hmydouttours.com/
Language

Language is declared as "fr-FR".

lang="fr-FR"
hreflang

No hreflang annotations, which is correct for a single-language page.

Viewport

The viewport is configured for mobile.

width=device-width, initial-scale=1
Character encoding

The page declares UTF-8 encoding.

Favicon

A favicon is declared.

Mixed content

All resources load securely.

URL length 25 characters

The URL is 25 characters.

URL readability

The URL is clean and readable.

URL depth 0 levels deep

The page is 0 levels deep.

URL parameters

The URL has no query parameters.

robots.txt 0 KB

robots.txt is present and does not block crawling.

XML sitemap 1 URLs

A sitemap index is published, referencing 1 sitemaps.

Sitemap index referencing 1 sitemaps

Missing pages (404) HTTP 404

A page that does not exist returns HTTP 404, so search engines drop dead addresses.

Content & metadata

What the page says it is about, and how it reads.

i 2✓ 982% · good
Word count 2,518 Substantive
Headings 48 Structured
H1 tags 1 Exactly one
Text ratio 7.7% Text vs markup
Heading outline 48 headings
H1 Transport touristique VIP à Agadir
H2 Planifiez Votre Trajet :
H3 10+
H3 15 000+
H3 5.0 ★★★★★
H3 24/7
H3 — Nos Services
H2 Des solutions de transport pour tous vos besoins
H3 Transfert aéroport
H3 Voyagez sereinement
H3 Circuits touristiques
H3 Voyagez sereinement
H3 Location avec chauffeur
H3 Voyagez sereinement
Heading hierarchy

The heading outline skips levels (h2 → h4).

h1: Transport touristique VIP à Agadir
  h2: Planifiez Votre Trajet :
    h3: 10+
    h3: 15 000+
    h3: 5.0 ★★★★★
    h3: 24/7
    h3: — Nos Services
  h2: Des solutions de transport pour tous vos besoins
    h3: Transfert aéroport
    h3: Voyagez sereinement
    h3: Circuits touristiques
    h3: Voyagez sereinement
How to fix
How to fix
Descend one level at a time: h1, then h2, then h3.
Share image 1440 × 960 px

The share image is 1440 × 960 pixels. Large cards are 1.91 to 1, so platforms crop it and may cut off what matters.

https://hmydouttours.com/wp-content/uploads/2025/05/taghazout.jpg
How to fix
How to fix
Use an image of 1200 × 630 pixels, with anything important away from the edges.
Open Graph tags

Open Graph tags are present.

Twitter card

twitter:card is set to summary_large_image.

H1 tag

The page has exactly one h1.

Transport touristique VIP à Agadir
Content length 2,518 words

The page has roughly 2518 words.

Text-to-HTML ratio 7.7% text

Text is 7.7% of the page source.

Table headers

No data tables on this page, so there are no columns to label.

Keyword placement

The page's prominent terms appear in its title, description or headings.

Where these terms appear

TermCountDensityTitleDescriptionHeadings
nous522.78%✕✕✓
pour412.19%✕✕✓
notre321.71%✕✕✓
des261.39%✕✕✓
est261.39%✕✕✓
Keyword repetition

No term is repeated unnaturally often.

Keyword cloud

The page's most frequent terms, from 1873 words of content.

What this page is about

Term size reflects how often it appears. Density is not a ranking factor, this is a view of the page's subject, not a target to hit.

nouspournotredesestchauffeurlesagadiravecmercitrèsvotrenosvousavonstransportaéroportmarocquiazizservicessurexcursionstoutequeuneminibustransfertstrajettransfertdécouvrirluisongrandséjourchauffeursdanspersonnesdisponibletous

AI & answer readiness

Whether answer engines and AI overviews can extract and trust this page.

i 3✓ 770% · good
AI crawlers 10/10 All allowed
Readable without JS Yes Served complete
Identity 1/2 Partly declared
Quotable signals 3/4 Schema, date, author, answers
Answer readiness 0 found

No heading is followed by a concise 40 to 60 word answer, the shape featured snippets and AI overviews extract.

How to fix
How to fix
Open at least one section with a direct 40 to 60 word answer to the question its heading poses.
Page subject

FAQPage declared without a name or headline.

FAQPage
How to fix
How to fix
Give each of these a name, or a headline for an Article. The type says what kind of thing the page is about; without a name it does not say which thing.
llms.txt for AI agents

No llms.txt. AI coding agents have no curated map of this site.

https://hmydouttours.com/llms.txt returned nothing
How to fix
How to fix
A markdown file at /llms.txt listing your most useful pages with one-line descriptions. It does not affect how AI assistants cite you in answers, and nobody has shown that it does. What it helps is agents reading your documentation directly: Anthropic supports it, Perplexity uses it to choose pages, and Cursor, Continue and Cline navigate docs with it. Worth doing for a documentation or API site, and safe to skip otherwise.
Content freshness

The page is dated and about 0 days old.

datePublished in structured data, dateModified in structured data, article:modified_time

Attribution

Attribution signals present: publisher in structured data, contact page.

publisher in structured data, contact page

Answer schema

Answer-friendly structured data: FAQPage, Question.

FAQPage, Question

2 types: FAQPage, Question

Extractable structure 2,518 words

2518 words across 48 headings, 11 lists and 0 tables.

Publisher identity

The page names who is behind it: Hmydout Tours.

Readable without JavaScript

The page reads the same with and without JavaScript.

AI crawler access 10 checked

Every AI crawler checked is allowed to read this page.

Speed & delivery

What makes the page slow, and what the loading experience measures.

✕ 1! 2i 2✓ 862% · needs work
Rendered page
The page as it rendered on a mobile viewport during the performance test
Mobile, measured
The page as it rendered on a desktop viewport
Desktop, measured
LCP Poor
5.27s

Largest Contentful Paint

Target ≤ 2.5s

What this measures

How long until the largest thing on screen, usually the hero image, video or headline block, has finished rendering. It is a proxy for "when did this page feel loaded".

What moves it: Serve the hero image in a modern format at the size it is displayed, preload it, and remove render-blocking CSS and JavaScript ahead of it. A slow server response delays it too, so check TTFB first.

INP Good
149ms

Interaction to Next Paint

Target ≤ 200ms

What this measures

How long the page takes to respond visibly after a tap, click or key press, measured across every interaction, not just the first. High INP is what makes a page feel unresponsive even once it looks ready.

What moves it: Break up long JavaScript tasks so the main thread is free to respond, defer work that is not needed for the interaction, and avoid large re-renders on every event.

CLS Good
0.005

Cumulative Layout Shift

Target ≤ 0.1

What this measures

How much visible content jumps around while the page loads. This is what makes someone tap the wrong thing because a banner or image pushed the layout down underneath their finger.

What moves it: Give images and video explicit width and height so the browser reserves the space, reserve room for ads and embeds, and avoid inserting content above what is already on screen.

FCP Needs work
1.99s

First Contentful Paint

Target ≤ 1.8s

What this measures

How long until anything at all appears, the first text or image painted. It separates "the page starts slowly" from "the biggest element is slow": a fast FCP with a slow LCP points at the hero, while both slow points at the server.

What moves it: Cut render-blocking CSS and JavaScript in the head, inline the styles needed for the first screen, and improve the server response time.

TTFBNo data
n/a

Real-user response time

Target ≤ 800ms

Needs real-user data from Chrome UX Report

Render-blocking resources 34 found

34 resources in <head> block the first paint, delaying when anything appears on screen.

stylesheet: https://hmydouttours.com/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=6.1.7
stylesheet: https://hmydouttours.com/wp-content/plugins/widget-google-reviews/assets/7.2.2/css/public-main.css
stylesheet: https://hmydouttours.com/wp-content/themes/hello-elementor/assets/css/reset.css?ver=3.5.2
stylesheet: https://hmydouttours.com/wp-content/themes/hello-elementor/assets/css/theme.css?ver=3.5.2
stylesheet: https://hmydouttours.com/wp-content/themes/hello-elementor/assets/css/header-footer.css?ver=3.5.2
stylesheet: https://hmydouttours.com/wp-content/themes/hello-elementor-child/style.css?ver=3.0.1.1710141409
How to fix
How to fix
Add defer to scripts, inline critical CSS, and load the rest asynchronously.
HTML size 213 KB

The HTML document is 213 KB, heavier than about 90% of pages.

How to fix
How to fix
Move inline scripts and styles to cacheable files, and remove unused markup.
Inline styles 52 found

52 elements carry inline style attributes, which cannot be cached and inflate the document.

How to fix
How to fix
Move repeated styles into a cacheable stylesheet.
Time to first byte

Time to first byte is 440 ms.

Deprecated tags

No deprecated HTML tags are used.

Compression

The response is compressed with br.

Content-Encoding: br
Page weight 79 requests · 1.8 MB

The page loads 79 requests totalling 1.8 MB.

What loaded, by type

Type RequestsTransferred
script28of 25 declared890 KB
other3356 KB
image5of 37 declared238 KB
font8206 KB
stylesheet33of 32 declared108 KB
document282 KB

Of these, 19 requests (1.3 MB) come from third-party domains. The HTML declares 37 images but only 5 loaded, the rest are lazy-loaded and fetched when scrolled to.

Third-party services 3 services · 929 KB

3 third-party services load on this page, adding 929 KB.

Third-party services

Service TransferredMain thread
Google CDN743 KB420ms
Google Fonts151 KB2ms
Other Google APIs/SDKs35 KB39ms

0.5s of main-thread time

Browser caching 55 KB re-downloaded

Cache lifetimes are long enough that a returning visitor re-downloads only 55 KB.

Short cache lifetimes

FileCache lifetimeSize
hmydouttours.com/Mercedes-noir-sur-la-cote-dAgadir.png7d159 KB
hmydouttours.com/…cnqeu92fr1me7ksn66agldtyluama3yuba.woff27d40 KB
hmydouttours.com/jquery.min.js7d29 KB
hmydouttours.com/HMAIDOUT-TOURS-P016.jpg7d29 KB
hmydouttours.com/hmydout-tours-768x179.png7d23 KB
hmydouttours.com/taghazout-768x512.jpg7d23 KB
hmydouttours.com/…qeu92fr1me7ksn66agldtyluamaxkubgee.woff27d20 KB
hmydouttours.com/frontend.min.js7d18 KB
hmydouttours.com/public-main.css7d18 KB
hmydouttours.com/frontend-modules.min.js7d17 KB
hmydouttours.com/public-main.js7d15 KB
hmydouttours.com/wp-polyfill.min.js7d11 KB

Showing the 12 largest of 60 files.

Security

Transport security, reputation and the response headers that protect visitors.

! 2i 6✓ 538% · needs work
HSTS

No Strict-Transport-Security header, so a first visit over HTTP can be intercepted before the redirect.

How to fix
How to fix
Strict-Transport-Security: max-age=31536000; includeSubDomains
Clickjacking protection

Nothing prevents this page being embedded in a frame, which allows clickjacking.

How to fix
How to fix
Content-Security-Policy: frame-ancestors 'self'
Email addresses in the page 1 found

1 email address is written into the page as plain text, where harvesting bots collect them for spam and phishing.

[email protected]
How to fix
How to fix
Use a contact form, or show the address through a script or as an image. If the address must stay, give it a strong spam filter.
MIME sniffing

No X-Content-Type-Options header, so browsers may guess a resource type and execute it.

How to fix
How to fix
X-Content-Type-Options: nosniff
Referrer policy

No Referrer-Policy header, so full URLs may leak to third-party sites.

How to fix
How to fix
Referrer-Policy: strict-origin-when-cross-origin
Permissions policy

No Permissions-Policy header, so any script or embed on the page may ask for the camera, microphone or location.

How to fix
How to fix
Permissions-Policy: camera=(), microphone=(), geolocation=()
Version disclosure

Response headers disclose exact software versions, which helps an attacker target known vulnerabilities.

x-powered-by: PHP/8.1.34
meta generator: WordPress 7.1.4
How to fix
How to fix
Suppress version numbers from Server and X-Powered-By, and remove the version from the generator meta tag (in WordPress, a one-line filter or most security plugins).
security.txt

No security.txt, so somebody who finds a vulnerability has no published way to tell you about it.

https://hmydouttours.com/.well-known/security.txt
How to fix
How to fix
Publish /.well-known/security.txt with a Contact: line (an email address or a form) and an Expires: date.
Content Security Policy

A Content-Security-Policy is set.

Cookie flags

The page sets no cookies, so there are none to expose.

TLS certificate 78 days left

The TLS certificate is valid for another 78 days, issued by Let's Encrypt.

78 days remaining
Google Web Risk

Not listed by Google Web Risk for malware, phishing or unwanted software.

TLS version TLS 1.3

Connections use TLS 1.3.

Server & domain

The server and the domain behind the page: protocol, network, registration and email records.

i 1✓ 788% · good
DMARC policy

The DMARC policy for hmydouttours.com is p=none, which collects reports but does not stop mail that spoofs the domain.

v=DMARC1; p=none
How to fix
How to fix
Once the reports show only your own services sending, move to p=quarantine and then p=reject.
HTTP/2 HTTP/2

Served over HTTP/2, which loads a page's files in parallel over one connection.

HTTP/3 HTTP/3

Announces HTTP/3, which browsers switch to on a later visit for faster connections on poor networks.

CDN

No CDN was detected in the response, so every visitor is served from the origin server. Fine for a local audience; a CDN helps a distant one.

Domain expiry 39 days left

hmydouttours.com is registered until 22 Dec 2026 with NameCheap, Inc.

39 days remaining
Domain age 2 years old

hmydouttours.com was registered on 22 Dec 2023, 2 years ago. Age is not a ranking factor, but an established name is one buyers and partners look for.

IPv6

hmydouttours.com has an IPv6 address, so IPv6-only networks reach it directly.

SPF record

hmydouttours.com publishes an SPF record: v=spf1 include:_spf.mail.hostinger.com ~all

ads.txt

No ad network loads on this page, so ads.txt is not needed.

Links, media & schema

Links, images and structured data.

! 5✓ 758% · fair
Social share preview From this page's Open Graph tags
In-page anchors

1 in-page link points to a section that does not exist, so clicking it goes nowhere.

#content
How to fix
How to fix
Add the matching id, or correct the link.
Image alt text 1 found

1 alt attribute repeat the same terms, which reads as keyword stuffing.

https://lh3.googleusercontent.com/a-/ALV-UjXdWZo_ikBywzhF74k1_NBimaUTXG97any1e6e7gq7nYSN-pnfZLg=s128-c0x00000000-cc-rp-mo-ba3 → "Photo de profil de Hicham Hicham"
How to fix
How to fix
Describe the image plainly in a short phrase.
Image dimensions 1 found

1 image has no width and height, so the page shifts as they load (hurting CLS).

# / lineImage source
#1 L1015https://hmydouttours.com/wp-content/uploads/2025/05/HMAIDOUT-TOURS-P002.jpg<img decoding="async" src="https://hmydouttours.com/wp-content/uploads/2025/05/HMAIDOUT-TOURS-P002.jpg" title="HMAIDOUT TOURS P002" alt="HMAIDOUT TOURS P002" loading="lazy">
How to fix
How to fix
<img src="…" width="800" height="600">, the browser reserves the space before decoding.
Image loading 3 found

3 images below the fold load eagerly, competing for bandwidth with the visible page.

Shown as 2 unique sources; the counts show how often each repeats.

LineImage source
1051https://hmydouttours.com/wp-content/uploads/2025/05/HMAIDOUT-TOURS-P016.jpg<img decoding="async" width="600" height="400" src="https://hmydouttours.com/wp-content/uploads/2025/05/HMAIDOUT-TOURS-P016.jpg" class="attachment-large size-large wp-image-24201" alt="" srcset="https://hmydouttours.com/wp-content/uploads/2025/05/HMAIDOUT-TOURS-P016.jpg 600w, https://hmydouttours.c…
1483, 1703https://hmydouttours.com/wp-content/uploads/2026/09/hmydout-tours-300x70.png ×2<img decoding="async" width="300" height="70" src="https://hmydouttours.com/wp-content/uploads/2026/09/hmydout-tours-300x70.png" class="attachment-medium size-medium wp-image-24483" alt="" srcset="https://hmydouttours.com/wp-content/uploads/2026/09/hmydout-tours-300x70.png 300w, https://hmydouttour…
How to fix
How to fix
Add loading="lazy" to images below the first screen.
Broken links 25 checked

3 links on this page return an error, 3 of them to this site's own pages. Visitors who follow them land on an error page.

404  https://hmydouttours.com/destinations/
404  https://hmydouttours.com/flotte/
404  https://hmydouttours.com/a-propos/
How to fix
How to fix
Update each link to its current destination, or remove it. For a page of your own that moved, add a redirect too.
Structured data

Structured data is valid: WebPage, ImageObject, BreadcrumbList, WebSite, Organization, FAQPage.

WebPage, ImageObject, BreadcrumbList, WebSite, Organization, FAQPage

6 types: WebPage, ImageObject, BreadcrumbList, WebSite, Organization, FAQPage

Rich result eligibility

Eligible for rich results via BreadcrumbList, Organization, FAQPage.

BreadcrumbList, Organization, FAQPage

3 types: BreadcrumbList, Organization, FAQPage

Link distribution 75 resources

36 internal and 39 external links.

36 internal, 39 external

36 internal, 39 external

Anchor text

Anchor text describes its destinations.

Link rel attributes

Outbound link rel attributes look appropriate.

Image formats

No heavy legacy image formats found.

Responsive images

Images are served responsively or are small enough not to need it.

What to fix first

Ranked by impact against effort, the top of this list buys the most for the least work.

1
✕ Critical Largest Contentful Paint is 5.3s (lab data), above the 2.5s target and in the poor range.
Optimise the hero image, remove render-blocking CSS and JS, and improve server response time.
moderate
2
! Recommended The page has no meta description, so search engines will improvise the snippet.
<meta name="description" content="A 120 to 160 character summary with a clear call to action.">
quick fix
3
! Recommended 1 image has no width and height, so the page shifts as they load (hurting CLS).
<img src="…" width="800" height="600">, the browser reserves the space before decoding.
quick fix
4
! Recommended 3 links on this page return an error, 3 of them to this site's own pages. Visitors who follow them land on an error page.
Update each link to its current destination, or remove it. For a page of your own that moved, add a redirect too.
quick fix
5
! Recommended 34 resources in <head> block the first paint, delaying when anything appears on screen.
Add defer to scripts, inline critical CSS, and load the rest asynchronously.
moderate
6
! Recommended 1 in-page link points to a section that does not exist, so clicking it goes nowhere.
Add the matching id, or correct the link.
quick fix
7
! Recommended 3 images below the fold load eagerly, competing for bandwidth with the visible page.
Add loading="lazy" to images below the first screen.
quick fix
8
! Recommended No Strict-Transport-Security header, so a first visit over HTTP can be intercepted before the redirect.
Strict-Transport-Security: max-age=31536000; includeSubDomains
quick fix
9
! Recommended Nothing prevents this page being embedded in a frame, which allows clickjacking.
Content-Security-Policy: frame-ancestors 'self'
quick fix
10
! Recommended The HTML document is 213 KB, heavier than about 90% of pages.
Move inline scripts and styles to cacheable files, and remove unused markup.
involved
11
! Recommended 1 alt attribute repeat the same terms, which reads as keyword stuffing.
Describe the image plainly in a short phrase.
quick fix
12
· Notice FAQPage declared without a name or headline.
Give each of these a name, or a headline for an Article. The type says what kind of thing the page is about; without a name it does not say which thing.
quick fix

Score breakdown

How each area scored. Categories that could not be measured are excluded rather than counted as zero.

Indexability & Crawling39 checks · 11 issues
74
On-Page Content & Structure22 checks · 6 issues
85
Core Web Vitals13 checks · 5 issues
63
Schema & Rich Snippets2 checks · 0 issues
100
Media & Links10 checks · 5 issues
66
Overall scoreGrade B+ · 59/88 passed
76