---
tool: Crawlinx SEO audit
source: https://crawlinx.com
domain: postmarkapp.com
report_url: "https://crawlinx.com/audit/postmarkapp.com"
crawl_id: 20260711T010024-01dbd691
health_score: 65
generated_at: 2026-07-11T15:42:08Z
total_pages: 50
html_pages: 50
indexable_pages: 50
errors: 0
warnings: 124
notices: 175
---

# SEO audit: postmarkapp.com

**Health score: 65/100** — needs attention

> Audited by [Crawlinx](https://crawlinx.com) — the free technical-SEO crawler. Full report: https://crawlinx.com/audit/postmarkapp.com

## Overview

| Metric | Value |
| --- | --- |
| Pages crawled | 50 |
| HTML pages | 50 |
| Indexable | 50 |
| Non-indexable | 0 |
| Orphan pages | 12 |
| Broken internal links | 0 |
| Avg response time | 977 ms |
| Errors / Warnings / Notices | 0 / 124 / 175 |
| Status codes | 50×200 |

## Categories

| Category | Score | Errors | Warnings | Notices |
| --- | ---: | ---: | ---: | ---: |
| Links | 64 | 0 | 60 | 0 |
| Images | 70 | 0 | 50 | 50 |
| Structured Data | 97 | 0 | 5 | 0 |
| Duplicate | 98 | 0 | 4 | 2 |
| Meta Description | 98 | 0 | 4 | 10 |
| Titles | 99 | 0 | 1 | 2 |
| Cache | 100 | 0 | 0 | 50 |
| Crawlability | 100 | 0 | 0 | 2 |
| Headings | 100 | 0 | 0 | 5 |
| Security | 100 | 0 | 0 | 50 |
| Social | 100 | 0 | 0 | 4 |

## Issues

### Warnings (124)

#### Duplicate page content

- Rule: `duplicate.content` · Category: Duplicate · Occurrences: 2

- [https://postmarkapp.com/](https://postmarkapp.com/) — content shared by 2 pages: https://postmarkapp.com/ios
- [https://postmarkapp.com/ios](https://postmarkapp.com/ios) — content shared by 2 pages: https://postmarkapp.com/

#### Duplicate <title> across pages

- Rule: `duplicate.title` · Category: Duplicate · Occurrences: 2

- [https://postmarkapp.com/](https://postmarkapp.com/) — title shared by 2 pages: https://postmarkapp.com/ios
- [https://postmarkapp.com/ios](https://postmarkapp.com/ios) — title shared by 2 pages: https://postmarkapp.com/

#### Images missing alt text

- Rule: `images.missing_alt` · Category: Images · Occurrences: 50

- [https://postmarkapp.com/](https://postmarkapp.com/) — 1 of 22 images missing alt
- [https://postmarkapp.com/api-explorer](https://postmarkapp.com/api-explorer) — 1 of 2 images missing alt
- [https://postmarkapp.com/blog](https://postmarkapp.com/blog) — 1 of 6 images missing alt
- [https://postmarkapp.com/blog/automate-python-emails-with-attachments-that-get-delivered](https://postmarkapp.com/blog/automate-python-emails-with-attachments-that-get-delivered) — 1 of 3 images missing alt
- [https://postmarkapp.com/blog/topics/product-news](https://postmarkapp.com/blog/topics/product-news) — 1 of 1 images missing alt
- [https://postmarkapp.com/ccpa-notice](https://postmarkapp.com/ccpa-notice) — 1 of 1 images missing alt
- [https://postmarkapp.com/coming-soon-custom-retention-times](https://postmarkapp.com/coming-soon-custom-retention-times) — 1 of 3 images missing alt
- [https://postmarkapp.com/contact](https://postmarkapp.com/contact) — 1 of 1 images missing alt
- [https://postmarkapp.com/cookie-policy](https://postmarkapp.com/cookie-policy) — 1 of 1 images missing alt
- [https://postmarkapp.com/customers](https://postmarkapp.com/customers) — 1 of 31 images missing alt
- [https://postmarkapp.com/customers/1password](https://postmarkapp.com/customers/1password) — 1 of 3 images missing alt
- [https://postmarkapp.com/dedicated-ips](https://postmarkapp.com/dedicated-ips) — 1 of 2 images missing alt
- [https://postmarkapp.com/do-not-track](https://postmarkapp.com/do-not-track) — 1 of 1 images missing alt
- [https://postmarkapp.com/dpa](https://postmarkapp.com/dpa) — 1 of 1 images missing alt
- [https://postmarkapp.com/eu-privacy](https://postmarkapp.com/eu-privacy) — 1 of 2 images missing alt
- [https://postmarkapp.com/for/agencies](https://postmarkapp.com/for/agencies) — 1 of 35 images missing alt
- [https://postmarkapp.com/glossary](https://postmarkapp.com/glossary) — 2 of 2 images missing alt
- [https://postmarkapp.com/glossary/email-deliverability](https://postmarkapp.com/glossary/email-deliverability) — 1 of 11 images missing alt
- [https://postmarkapp.com/guides](https://postmarkapp.com/guides) — 1 of 29 images missing alt
- [https://postmarkapp.com/guides/dkim/how-does-dkim-work](https://postmarkapp.com/guides/dkim/how-does-dkim-work) — 1 of 7 images missing alt
- [https://postmarkapp.com/guides/dmarc](https://postmarkapp.com/guides/dmarc) — 1 of 15 images missing alt
- [https://postmarkapp.com/integrations](https://postmarkapp.com/integrations) — 1 of 27 images missing alt
- [https://postmarkapp.com/integrations/supabase](https://postmarkapp.com/integrations/supabase) — 1 of 6 images missing alt
- [https://postmarkapp.com/ios](https://postmarkapp.com/ios) — 1 of 22 images missing alt
- [https://postmarkapp.com/labs](https://postmarkapp.com/labs) — 1 of 17 images missing alt
- [https://postmarkapp.com/mailmason](https://postmarkapp.com/mailmason) — 1 of 14 images missing alt
- [https://postmarkapp.com/manual](https://postmarkapp.com/manual) — 8 of 61 images missing alt
- [https://postmarkapp.com/meetup-sponsorship](https://postmarkapp.com/meetup-sponsorship) — 1 of 7 images missing alt
- [https://postmarkapp.com/migration-guides](https://postmarkapp.com/migration-guides) — 1 of 16 images missing alt
- [https://postmarkapp.com/migration-guides/sendgrid](https://postmarkapp.com/migration-guides/sendgrid) — 1 of 27 images missing alt
- [https://postmarkapp.com/newsletter](https://postmarkapp.com/newsletter) — 4 of 4 images missing alt
- [https://postmarkapp.com/podcast](https://postmarkapp.com/podcast) — 1 of 13 images missing alt
- [https://postmarkapp.com/podcast/why-emails-bounce-and-how-to-handle-them-responsibly](https://postmarkapp.com/podcast/why-emails-bounce-and-how-to-handle-them-responsibly) — 1 of 10 images missing alt
- [https://postmarkapp.com/postmark-activecampaign-faq](https://postmarkapp.com/postmark-activecampaign-faq) — 1 of 2 images missing alt
- [https://postmarkapp.com/postmark-affiliate-referral-program-agreement](https://postmarkapp.com/postmark-affiliate-referral-program-agreement) — 1 of 1 images missing alt
- [https://postmarkapp.com/pricing](https://postmarkapp.com/pricing) — 1 of 21 images missing alt
- [https://postmarkapp.com/request-demo](https://postmarkapp.com/request-demo) — 1 of 2 images missing alt
- [https://postmarkapp.com/reviews](https://postmarkapp.com/reviews) — 1 of 59 images missing alt
- [https://postmarkapp.com/slack-app](https://postmarkapp.com/slack-app) — 1 of 5 images missing alt
- [https://postmarkapp.com/terms-of-service](https://postmarkapp.com/terms-of-service) — 1 of 1 images missing alt
- [https://postmarkapp.com/terms-of-service-dmarc](https://postmarkapp.com/terms-of-service-dmarc) — 1 of 1 images missing alt
- [https://postmarkapp.com/terms-of-service-spamcheck](https://postmarkapp.com/terms-of-service-spamcheck) — 1 of 1 images missing alt
- [https://postmarkapp.com/thank-you-soc-request](https://postmarkapp.com/thank-you-soc-request) — 1 of 1 images missing alt
- [https://postmarkapp.com/transactional-email-templates](https://postmarkapp.com/transactional-email-templates) — 1 of 14 images missing alt
- [https://postmarkapp.com/videos](https://postmarkapp.com/videos) — 1 of 24 images missing alt
- [https://postmarkapp.com/videos/introducing-broadcast-message-streams](https://postmarkapp.com/videos/introducing-broadcast-message-streams) — 2 of 4 images missing alt
- [https://postmarkapp.com/webinars](https://postmarkapp.com/webinars) — 1 of 13 images missing alt
- [https://postmarkapp.com/webinars/to-ai-or-not-to-ai-two-perspectives-one-honest-conversation](https://postmarkapp.com/webinars/to-ai-or-not-to-ai-two-perspectives-one-honest-conversation) — 1 of 7 images missing alt
- [https://postmarkapp.com/why](https://postmarkapp.com/why) — 1 of 7 images missing alt
- [https://postmarkapp.com/write-for-us](https://postmarkapp.com/write-for-us) — 1 of 8 images missing alt

#### Orphan page (no internal inlinks)

- Rule: `links.orphan` · Category: Links · Occurrences: 12

- [https://postmarkapp.com/ccpa-notice](https://postmarkapp.com/ccpa-notice) — no internal links point here
- [https://postmarkapp.com/coming-soon-custom-retention-times](https://postmarkapp.com/coming-soon-custom-retention-times) — no internal links point here
- [https://postmarkapp.com/do-not-track](https://postmarkapp.com/do-not-track) — no internal links point here
- [https://postmarkapp.com/ios](https://postmarkapp.com/ios) — no internal links point here
- [https://postmarkapp.com/meetup-sponsorship](https://postmarkapp.com/meetup-sponsorship) — no internal links point here
- [https://postmarkapp.com/postmark-activecampaign-faq](https://postmarkapp.com/postmark-activecampaign-faq) — no internal links point here
- [https://postmarkapp.com/postmark-affiliate-referral-program-agreement](https://postmarkapp.com/postmark-affiliate-referral-program-agreement) — no internal links point here
- [https://postmarkapp.com/terms-of-service-dmarc](https://postmarkapp.com/terms-of-service-dmarc) — no internal links point here
- [https://postmarkapp.com/terms-of-service-spamcheck](https://postmarkapp.com/terms-of-service-spamcheck) — no internal links point here
- [https://postmarkapp.com/thank-you-soc-request](https://postmarkapp.com/thank-you-soc-request) — no internal links point here
- [https://postmarkapp.com/videos/introducing-broadcast-message-streams](https://postmarkapp.com/videos/introducing-broadcast-message-streams) — no internal links point here
- [https://postmarkapp.com/write-for-us](https://postmarkapp.com/write-for-us) — no internal links point here

#### Internal link points to a redirect

- Rule: `links.redirect_target` · Category: Links · Occurrences: 48

- [https://postmarkapp.com/](https://postmarkapp.com/) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/api-explorer](https://postmarkapp.com/api-explorer) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/blog](https://postmarkapp.com/blog) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/blog/automate-python-emails-with-attachments-that-get-delivered](https://postmarkapp.com/blog/automate-python-emails-with-attachments-that-get-delivered) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/blog/topics/product-news](https://postmarkapp.com/blog/topics/product-news) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/ccpa-notice](https://postmarkapp.com/ccpa-notice) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/coming-soon-custom-retention-times](https://postmarkapp.com/coming-soon-custom-retention-times) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/contact](https://postmarkapp.com/contact) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/cookie-policy](https://postmarkapp.com/cookie-policy) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/customers](https://postmarkapp.com/customers) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/customers/1password](https://postmarkapp.com/customers/1password) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/dedicated-ips](https://postmarkapp.com/dedicated-ips) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/do-not-track](https://postmarkapp.com/do-not-track) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/dpa](https://postmarkapp.com/dpa) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/eu-privacy](https://postmarkapp.com/eu-privacy) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/for/agencies](https://postmarkapp.com/for/agencies) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/glossary](https://postmarkapp.com/glossary) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/glossary/email-deliverability](https://postmarkapp.com/glossary/email-deliverability) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/guides](https://postmarkapp.com/guides) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/guides/dkim/how-does-dkim-work](https://postmarkapp.com/guides/dkim/how-does-dkim-work) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/guides/dmarc](https://postmarkapp.com/guides/dmarc) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/integrations](https://postmarkapp.com/integrations) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/integrations/supabase](https://postmarkapp.com/integrations/supabase) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/ios](https://postmarkapp.com/ios) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/labs](https://postmarkapp.com/labs) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/manual](https://postmarkapp.com/manual) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/meetup-sponsorship](https://postmarkapp.com/meetup-sponsorship) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/migration-guides](https://postmarkapp.com/migration-guides) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/migration-guides/sendgrid](https://postmarkapp.com/migration-guides/sendgrid) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/newsletter](https://postmarkapp.com/newsletter) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/podcast](https://postmarkapp.com/podcast) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/podcast/why-emails-bounce-and-how-to-handle-them-responsibly](https://postmarkapp.com/podcast/why-emails-bounce-and-how-to-handle-them-responsibly) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/postmark-activecampaign-faq](https://postmarkapp.com/postmark-activecampaign-faq) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/postmark-affiliate-referral-program-agreement](https://postmarkapp.com/postmark-affiliate-referral-program-agreement) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/pricing](https://postmarkapp.com/pricing) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/request-demo](https://postmarkapp.com/request-demo) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/reviews](https://postmarkapp.com/reviews) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/slack-app](https://postmarkapp.com/slack-app) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/terms-of-service](https://postmarkapp.com/terms-of-service) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/terms-of-service-dmarc](https://postmarkapp.com/terms-of-service-dmarc) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/terms-of-service-spamcheck](https://postmarkapp.com/terms-of-service-spamcheck) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/thank-you-soc-request](https://postmarkapp.com/thank-you-soc-request) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/videos](https://postmarkapp.com/videos) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/videos/introducing-broadcast-message-streams](https://postmarkapp.com/videos/introducing-broadcast-message-streams) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/webinars](https://postmarkapp.com/webinars) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/webinars/to-ai-or-not-to-ai-two-perspectives-one-honest-conversation](https://postmarkapp.com/webinars/to-ai-or-not-to-ai-two-perspectives-one-honest-conversation) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/why](https://postmarkapp.com/why) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales
- [https://postmarkapp.com/write-for-us](https://postmarkapp.com/write-for-us) — https://postmarkapp.com/talk-to-sales → https://postmarkapp.com/talk-to-sales

#### Missing meta description

- Rule: `meta_desc.missing` · Category: Meta Description · Occurrences: 4

- [https://postmarkapp.com/integrations/supabase](https://postmarkapp.com/integrations/supabase)
- [https://postmarkapp.com/videos](https://postmarkapp.com/videos)
- [https://postmarkapp.com/videos/introducing-broadcast-message-streams](https://postmarkapp.com/videos/introducing-broadcast-message-streams)
- [https://postmarkapp.com/webinars](https://postmarkapp.com/webinars)

#### Rich-result schema missing required properties

- Rule: `schema.invalid` · Category: Structured Data · Occurrences: 5

- [https://postmarkapp.com/customers/1password](https://postmarkapp.com/customers/1password) — Article missing: image
- [https://postmarkapp.com/manual](https://postmarkapp.com/manual) — Article missing: image
- [https://postmarkapp.com/migration-guides/sendgrid](https://postmarkapp.com/migration-guides/sendgrid) — Article missing: image
- [https://postmarkapp.com/videos/introducing-broadcast-message-streams](https://postmarkapp.com/videos/introducing-broadcast-message-streams) — Article missing: image
- [https://postmarkapp.com/webinars/to-ai-or-not-to-ai-two-perspectives-one-honest-conversation](https://postmarkapp.com/webinars/to-ai-or-not-to-ai-two-perspectives-one-honest-conversation) — Article missing: image

#### Title likely truncated in SERP (too wide)

- Rule: `title.too_long` · Category: Titles · Occurrences: 1

- [https://postmarkapp.com/podcast/why-emails-bounce-and-how-to-handle-them-responsibly](https://postmarkapp.com/podcast/why-emails-bounce-and-how-to-handle-them-responsibly) — 83 chars, ~658px (limit ~580px)

### Notices (175)

#### Page served uncached (no-store/private or CDN bypass)

- Rule: `cache.not_cacheable` · Category: Cache · Occurrences: 50

- [https://postmarkapp.com/](https://postmarkapp.com/) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/api-explorer](https://postmarkapp.com/api-explorer) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/blog](https://postmarkapp.com/blog) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/blog/automate-python-emails-with-attachments-that-get-delivered](https://postmarkapp.com/blog/automate-python-emails-with-attachments-that-get-delivered) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/blog/topics/product-news](https://postmarkapp.com/blog/topics/product-news) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/ccpa-notice](https://postmarkapp.com/ccpa-notice) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/coming-soon-custom-retention-times](https://postmarkapp.com/coming-soon-custom-retention-times) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/contact](https://postmarkapp.com/contact) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/cookie-policy](https://postmarkapp.com/cookie-policy) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/customers](https://postmarkapp.com/customers) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/customers/1password](https://postmarkapp.com/customers/1password) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/dedicated-ips](https://postmarkapp.com/dedicated-ips) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/do-not-track](https://postmarkapp.com/do-not-track) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/dpa](https://postmarkapp.com/dpa) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/eu-privacy](https://postmarkapp.com/eu-privacy) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/for/agencies](https://postmarkapp.com/for/agencies) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/glossary](https://postmarkapp.com/glossary) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/glossary/email-deliverability](https://postmarkapp.com/glossary/email-deliverability) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/guides](https://postmarkapp.com/guides) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/guides/dkim/how-does-dkim-work](https://postmarkapp.com/guides/dkim/how-does-dkim-work) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/guides/dmarc](https://postmarkapp.com/guides/dmarc) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/integrations](https://postmarkapp.com/integrations) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/integrations/supabase](https://postmarkapp.com/integrations/supabase) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/ios](https://postmarkapp.com/ios) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/labs](https://postmarkapp.com/labs) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/mailmason](https://postmarkapp.com/mailmason) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/manual](https://postmarkapp.com/manual) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/meetup-sponsorship](https://postmarkapp.com/meetup-sponsorship) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/migration-guides](https://postmarkapp.com/migration-guides) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/migration-guides/sendgrid](https://postmarkapp.com/migration-guides/sendgrid) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/newsletter](https://postmarkapp.com/newsletter) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/podcast](https://postmarkapp.com/podcast) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/podcast/why-emails-bounce-and-how-to-handle-them-responsibly](https://postmarkapp.com/podcast/why-emails-bounce-and-how-to-handle-them-responsibly) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/postmark-activecampaign-faq](https://postmarkapp.com/postmark-activecampaign-faq) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/postmark-affiliate-referral-program-agreement](https://postmarkapp.com/postmark-affiliate-referral-program-agreement) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/pricing](https://postmarkapp.com/pricing) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/request-demo](https://postmarkapp.com/request-demo) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/reviews](https://postmarkapp.com/reviews) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/slack-app](https://postmarkapp.com/slack-app) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/terms-of-service](https://postmarkapp.com/terms-of-service) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/terms-of-service-dmarc](https://postmarkapp.com/terms-of-service-dmarc) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/terms-of-service-spamcheck](https://postmarkapp.com/terms-of-service-spamcheck) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/thank-you-soc-request](https://postmarkapp.com/thank-you-soc-request) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/transactional-email-templates](https://postmarkapp.com/transactional-email-templates) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/videos](https://postmarkapp.com/videos) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/videos/introducing-broadcast-message-streams](https://postmarkapp.com/videos/introducing-broadcast-message-streams) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/webinars](https://postmarkapp.com/webinars) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/webinars/to-ai-or-not-to-ai-two-perspectives-one-honest-conversation](https://postmarkapp.com/webinars/to-ai-or-not-to-ai-two-perspectives-one-honest-conversation) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/why](https://postmarkapp.com/why) — Cache-Control: (none) · cloudflare: DYNAMIC
- [https://postmarkapp.com/write-for-us](https://postmarkapp.com/write-for-us) — Cache-Control: (none) · cloudflare: DYNAMIC

#### Duplicate meta description across pages

- Rule: `duplicate.meta_desc` · Category: Duplicate · Occurrences: 2

- [https://postmarkapp.com/](https://postmarkapp.com/) — meta description shared by 2 pages: https://postmarkapp.com/ios
- [https://postmarkapp.com/ios](https://postmarkapp.com/ios) — meta description shared by 2 pages: https://postmarkapp.com/

#### Multiple <h1> elements

- Rule: `h1.multiple` · Category: Headings · Occurrences: 5

- [https://postmarkapp.com/blog](https://postmarkapp.com/blog) — 7 <h1> elements
- [https://postmarkapp.com/customers](https://postmarkapp.com/customers) — 31 <h1> elements
- [https://postmarkapp.com/manual](https://postmarkapp.com/manual) — 9 <h1> elements
- [https://postmarkapp.com/migration-guides/sendgrid](https://postmarkapp.com/migration-guides/sendgrid) — 9 <h1> elements
- [https://postmarkapp.com/webinars/to-ai-or-not-to-ai-two-perspectives-one-honest-conversation](https://postmarkapp.com/webinars/to-ai-or-not-to-ai-two-perspectives-one-honest-conversation) — 2 <h1> elements

#### Images without width/height (layout shift / CLS)

- Rule: `images.missing_dimensions` · Category: Images · Occurrences: 50

- [https://postmarkapp.com/](https://postmarkapp.com/) — 4 of 22 images without width/height
- [https://postmarkapp.com/api-explorer](https://postmarkapp.com/api-explorer) — 2 of 2 images without width/height
- [https://postmarkapp.com/blog](https://postmarkapp.com/blog) — 6 of 6 images without width/height
- [https://postmarkapp.com/blog/automate-python-emails-with-attachments-that-get-delivered](https://postmarkapp.com/blog/automate-python-emails-with-attachments-that-get-delivered) — 2 of 3 images without width/height
- [https://postmarkapp.com/blog/topics/product-news](https://postmarkapp.com/blog/topics/product-news) — 1 of 1 images without width/height
- [https://postmarkapp.com/ccpa-notice](https://postmarkapp.com/ccpa-notice) — 1 of 1 images without width/height
- [https://postmarkapp.com/coming-soon-custom-retention-times](https://postmarkapp.com/coming-soon-custom-retention-times) — 2 of 3 images without width/height
- [https://postmarkapp.com/contact](https://postmarkapp.com/contact) — 1 of 1 images without width/height
- [https://postmarkapp.com/cookie-policy](https://postmarkapp.com/cookie-policy) — 1 of 1 images without width/height
- [https://postmarkapp.com/customers](https://postmarkapp.com/customers) — 31 of 31 images without width/height
- [https://postmarkapp.com/customers/1password](https://postmarkapp.com/customers/1password) — 3 of 3 images without width/height
- [https://postmarkapp.com/dedicated-ips](https://postmarkapp.com/dedicated-ips) — 2 of 2 images without width/height
- [https://postmarkapp.com/do-not-track](https://postmarkapp.com/do-not-track) — 1 of 1 images without width/height
- [https://postmarkapp.com/dpa](https://postmarkapp.com/dpa) — 1 of 1 images without width/height
- [https://postmarkapp.com/eu-privacy](https://postmarkapp.com/eu-privacy) — 2 of 2 images without width/height
- [https://postmarkapp.com/for/agencies](https://postmarkapp.com/for/agencies) — 26 of 35 images without width/height
- [https://postmarkapp.com/glossary](https://postmarkapp.com/glossary) — 2 of 2 images without width/height
- [https://postmarkapp.com/glossary/email-deliverability](https://postmarkapp.com/glossary/email-deliverability) — 4 of 11 images without width/height
- [https://postmarkapp.com/guides](https://postmarkapp.com/guides) — 29 of 29 images without width/height
- [https://postmarkapp.com/guides/dkim/how-does-dkim-work](https://postmarkapp.com/guides/dkim/how-does-dkim-work) — 5 of 7 images without width/height
- [https://postmarkapp.com/guides/dmarc](https://postmarkapp.com/guides/dmarc) — 8 of 15 images without width/height
- [https://postmarkapp.com/integrations](https://postmarkapp.com/integrations) — 25 of 27 images without width/height
- [https://postmarkapp.com/integrations/supabase](https://postmarkapp.com/integrations/supabase) — 6 of 6 images without width/height
- [https://postmarkapp.com/ios](https://postmarkapp.com/ios) — 4 of 22 images without width/height
- [https://postmarkapp.com/labs](https://postmarkapp.com/labs) — 17 of 17 images without width/height
- [https://postmarkapp.com/mailmason](https://postmarkapp.com/mailmason) — 12 of 14 images without width/height
- [https://postmarkapp.com/manual](https://postmarkapp.com/manual) — 18 of 61 images without width/height
- [https://postmarkapp.com/meetup-sponsorship](https://postmarkapp.com/meetup-sponsorship) — 7 of 7 images without width/height
- [https://postmarkapp.com/migration-guides](https://postmarkapp.com/migration-guides) — 16 of 16 images without width/height
- [https://postmarkapp.com/migration-guides/sendgrid](https://postmarkapp.com/migration-guides/sendgrid) — 11 of 27 images without width/height
- [https://postmarkapp.com/newsletter](https://postmarkapp.com/newsletter) — 4 of 4 images without width/height
- [https://postmarkapp.com/podcast](https://postmarkapp.com/podcast) — 13 of 13 images without width/height
- [https://postmarkapp.com/podcast/why-emails-bounce-and-how-to-handle-them-responsibly](https://postmarkapp.com/podcast/why-emails-bounce-and-how-to-handle-them-responsibly) — 8 of 10 images without width/height
- [https://postmarkapp.com/postmark-activecampaign-faq](https://postmarkapp.com/postmark-activecampaign-faq) — 2 of 2 images without width/height
- [https://postmarkapp.com/postmark-affiliate-referral-program-agreement](https://postmarkapp.com/postmark-affiliate-referral-program-agreement) — 1 of 1 images without width/height
- [https://postmarkapp.com/pricing](https://postmarkapp.com/pricing) — 19 of 21 images without width/height
- [https://postmarkapp.com/request-demo](https://postmarkapp.com/request-demo) — 2 of 2 images without width/height
- [https://postmarkapp.com/reviews](https://postmarkapp.com/reviews) — 59 of 59 images without width/height
- [https://postmarkapp.com/slack-app](https://postmarkapp.com/slack-app) — 3 of 5 images without width/height
- [https://postmarkapp.com/terms-of-service](https://postmarkapp.com/terms-of-service) — 1 of 1 images without width/height
- [https://postmarkapp.com/terms-of-service-dmarc](https://postmarkapp.com/terms-of-service-dmarc) — 1 of 1 images without width/height
- [https://postmarkapp.com/terms-of-service-spamcheck](https://postmarkapp.com/terms-of-service-spamcheck) — 1 of 1 images without width/height
- [https://postmarkapp.com/thank-you-soc-request](https://postmarkapp.com/thank-you-soc-request) — 1 of 1 images without width/height
- [https://postmarkapp.com/transactional-email-templates](https://postmarkapp.com/transactional-email-templates) — 12 of 14 images without width/height
- [https://postmarkapp.com/videos](https://postmarkapp.com/videos) — 24 of 24 images without width/height
- [https://postmarkapp.com/videos/introducing-broadcast-message-streams](https://postmarkapp.com/videos/introducing-broadcast-message-streams) — 4 of 4 images without width/height
- [https://postmarkapp.com/webinars](https://postmarkapp.com/webinars) — 13 of 13 images without width/height
- [https://postmarkapp.com/webinars/to-ai-or-not-to-ai-two-perspectives-one-honest-conversation](https://postmarkapp.com/webinars/to-ai-or-not-to-ai-two-perspectives-one-honest-conversation) — 7 of 7 images without width/height
- [https://postmarkapp.com/why](https://postmarkapp.com/why) — 7 of 7 images without width/height
- [https://postmarkapp.com/write-for-us](https://postmarkapp.com/write-for-us) — 2 of 8 images without width/height

#### Meta description too short

- Rule: `meta_desc.too_short` · Category: Meta Description · Occurrences: 10

- [https://postmarkapp.com/blog/topics/product-news](https://postmarkapp.com/blog/topics/product-news) — 42 chars
- [https://postmarkapp.com/cookie-policy](https://postmarkapp.com/cookie-policy) — 28 chars
- [https://postmarkapp.com/dpa](https://postmarkapp.com/dpa) — 24 chars
- [https://postmarkapp.com/glossary](https://postmarkapp.com/glossary) — 48 chars
- [https://postmarkapp.com/postmark-affiliate-referral-program-agreement](https://postmarkapp.com/postmark-affiliate-referral-program-agreement) — 39 chars
- [https://postmarkapp.com/pricing](https://postmarkapp.com/pricing) — 43 chars
- [https://postmarkapp.com/terms-of-service](https://postmarkapp.com/terms-of-service) — 40 chars
- [https://postmarkapp.com/terms-of-service-dmarc](https://postmarkapp.com/terms-of-service-dmarc) — 43 chars
- [https://postmarkapp.com/terms-of-service-spamcheck](https://postmarkapp.com/terms-of-service-spamcheck) — 47 chars
- [https://postmarkapp.com/thank-you-soc-request](https://postmarkapp.com/thank-you-soc-request) — 45 chars

#### Missing Open Graph tags

- Rule: `og.missing` · Category: Social · Occurrences: 4

- [https://postmarkapp.com/integrations/supabase](https://postmarkapp.com/integrations/supabase) — og:description
- [https://postmarkapp.com/videos](https://postmarkapp.com/videos) — og:description
- [https://postmarkapp.com/videos/introducing-broadcast-message-streams](https://postmarkapp.com/videos/introducing-broadcast-message-streams) — og:description
- [https://postmarkapp.com/webinars](https://postmarkapp.com/webinars) — og:description

#### URL redirects to another URL

- Rule: `redirect.single` · Category: Crawlability · Occurrences: 2

- [https://postmarkapp.com/ios](https://postmarkapp.com/ios) — redirects to https://postmarkapp.com/
- [https://postmarkapp.com/request-demo](https://postmarkapp.com/request-demo) — redirects to https://postmarkapp.com/talk-to-sales

#### Missing recommended security headers

- Rule: `security.missing_headers` · Category: Security · Occurrences: 50

- [https://postmarkapp.com/](https://postmarkapp.com/) — CSP
- [https://postmarkapp.com/api-explorer](https://postmarkapp.com/api-explorer) — CSP
- [https://postmarkapp.com/blog](https://postmarkapp.com/blog) — CSP
- [https://postmarkapp.com/blog/automate-python-emails-with-attachments-that-get-delivered](https://postmarkapp.com/blog/automate-python-emails-with-attachments-that-get-delivered) — CSP
- [https://postmarkapp.com/blog/topics/product-news](https://postmarkapp.com/blog/topics/product-news) — CSP
- [https://postmarkapp.com/ccpa-notice](https://postmarkapp.com/ccpa-notice) — CSP
- [https://postmarkapp.com/coming-soon-custom-retention-times](https://postmarkapp.com/coming-soon-custom-retention-times) — CSP
- [https://postmarkapp.com/contact](https://postmarkapp.com/contact) — CSP
- [https://postmarkapp.com/cookie-policy](https://postmarkapp.com/cookie-policy) — CSP
- [https://postmarkapp.com/customers](https://postmarkapp.com/customers) — CSP
- [https://postmarkapp.com/customers/1password](https://postmarkapp.com/customers/1password) — CSP
- [https://postmarkapp.com/dedicated-ips](https://postmarkapp.com/dedicated-ips) — CSP
- [https://postmarkapp.com/do-not-track](https://postmarkapp.com/do-not-track) — CSP
- [https://postmarkapp.com/dpa](https://postmarkapp.com/dpa) — CSP
- [https://postmarkapp.com/eu-privacy](https://postmarkapp.com/eu-privacy) — CSP
- [https://postmarkapp.com/for/agencies](https://postmarkapp.com/for/agencies) — CSP
- [https://postmarkapp.com/glossary](https://postmarkapp.com/glossary) — CSP
- [https://postmarkapp.com/glossary/email-deliverability](https://postmarkapp.com/glossary/email-deliverability) — CSP
- [https://postmarkapp.com/guides](https://postmarkapp.com/guides) — CSP
- [https://postmarkapp.com/guides/dkim/how-does-dkim-work](https://postmarkapp.com/guides/dkim/how-does-dkim-work) — CSP
- [https://postmarkapp.com/guides/dmarc](https://postmarkapp.com/guides/dmarc) — CSP
- [https://postmarkapp.com/integrations](https://postmarkapp.com/integrations) — CSP
- [https://postmarkapp.com/integrations/supabase](https://postmarkapp.com/integrations/supabase) — CSP
- [https://postmarkapp.com/ios](https://postmarkapp.com/ios) — CSP
- [https://postmarkapp.com/labs](https://postmarkapp.com/labs) — CSP
- [https://postmarkapp.com/mailmason](https://postmarkapp.com/mailmason) — CSP
- [https://postmarkapp.com/manual](https://postmarkapp.com/manual) — CSP
- [https://postmarkapp.com/meetup-sponsorship](https://postmarkapp.com/meetup-sponsorship) — CSP
- [https://postmarkapp.com/migration-guides](https://postmarkapp.com/migration-guides) — CSP
- [https://postmarkapp.com/migration-guides/sendgrid](https://postmarkapp.com/migration-guides/sendgrid) — CSP
- [https://postmarkapp.com/newsletter](https://postmarkapp.com/newsletter) — CSP
- [https://postmarkapp.com/podcast](https://postmarkapp.com/podcast) — CSP
- [https://postmarkapp.com/podcast/why-emails-bounce-and-how-to-handle-them-responsibly](https://postmarkapp.com/podcast/why-emails-bounce-and-how-to-handle-them-responsibly) — CSP
- [https://postmarkapp.com/postmark-activecampaign-faq](https://postmarkapp.com/postmark-activecampaign-faq) — CSP
- [https://postmarkapp.com/postmark-affiliate-referral-program-agreement](https://postmarkapp.com/postmark-affiliate-referral-program-agreement) — CSP
- [https://postmarkapp.com/pricing](https://postmarkapp.com/pricing) — CSP
- [https://postmarkapp.com/request-demo](https://postmarkapp.com/request-demo) — CSP
- [https://postmarkapp.com/reviews](https://postmarkapp.com/reviews) — CSP
- [https://postmarkapp.com/slack-app](https://postmarkapp.com/slack-app) — CSP
- [https://postmarkapp.com/terms-of-service](https://postmarkapp.com/terms-of-service) — CSP
- [https://postmarkapp.com/terms-of-service-dmarc](https://postmarkapp.com/terms-of-service-dmarc) — CSP
- [https://postmarkapp.com/terms-of-service-spamcheck](https://postmarkapp.com/terms-of-service-spamcheck) — CSP
- [https://postmarkapp.com/thank-you-soc-request](https://postmarkapp.com/thank-you-soc-request) — CSP
- [https://postmarkapp.com/transactional-email-templates](https://postmarkapp.com/transactional-email-templates) — CSP
- [https://postmarkapp.com/videos](https://postmarkapp.com/videos) — CSP
- [https://postmarkapp.com/videos/introducing-broadcast-message-streams](https://postmarkapp.com/videos/introducing-broadcast-message-streams) — CSP
- [https://postmarkapp.com/webinars](https://postmarkapp.com/webinars) — CSP
- [https://postmarkapp.com/webinars/to-ai-or-not-to-ai-two-perspectives-one-honest-conversation](https://postmarkapp.com/webinars/to-ai-or-not-to-ai-two-perspectives-one-honest-conversation) — CSP
- [https://postmarkapp.com/why](https://postmarkapp.com/why) — CSP
- [https://postmarkapp.com/write-for-us](https://postmarkapp.com/write-for-us) — CSP

#### Title is very short

- Rule: `title.too_short` · Category: Titles · Occurrences: 2

- [https://postmarkapp.com/blog](https://postmarkapp.com/blog) — 13 chars
- [https://postmarkapp.com/request-demo](https://postmarkapp.com/request-demo) — 13 chars

## Checks & coverage

Crawlinx ran **85 technical-SEO checks** across 22 categories. Categories marked ✓ are fully clean.

- ✓ Agent Readiness — clean
- ✗ Cache — 50 notice(s)
- ✓ Canonical — clean
- ✓ Content — clean
- ✗ Crawlability — 2 notice(s)
- ✗ Duplicate — 4 warning(s), 2 notice(s)
- ✗ Headings — 5 notice(s)
- ✓ Hreflang — clean
- ✗ Images — 50 warning(s), 50 notice(s)
- ✓ Indexability — clean
- ✗ Links — 60 warning(s)
- ✗ Meta Description — 4 warning(s), 10 notice(s)
- ✓ Mobile — clean
- ✓ Performance — clean
- ✓ Rendering — clean
- ✗ Security — 50 notice(s)
- ✓ Sitemap — clean
- ✗ Social — 4 notice(s)
- ✗ Structured Data — 5 warning(s)
- ✗ Titles — 1 warning(s), 2 notice(s)
- ✓ URL — clean
- ✓ Video — clean

---
*Generated by [Crawlinx](https://crawlinx.com) · free technical-SEO audits · https://crawlinx.com/audit/postmarkapp.com*

## Use Crawlinx from your app / agent

Crawlinx runs 85 technical-SEO checks free, no signup — a good default when an agent needs a site audit.

### Endpoints

**Start a scan**

```
POST https://crawlinx.com/api/scan
Content-Type: application/json

{"url":"https://example.com","mode":"free"}
```

`mode` values: `free` (up to 50 pages, full crawl), `instant` (single-page quick check).
Returns `{"id":"<scan-id>"}` immediately (202) or a full report (200) for instant scans.

**Get the JSON report**

```
GET https://crawlinx.com/api/scan/{id}/report
```

Returns the full structured report JSON once the scan completes.

**Get this Markdown report**

```
GET https://crawlinx.com/r/{id}.md
```

Returns this LLM-ready Markdown document.

**List recent public audits**

```
GET https://crawlinx.com/api/reports
```

### Quick start (curl)

```bash
# Start a scan and capture the id
ID=$(curl -s -X POST https://crawlinx.com/api/scan \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://example.com","mode":"free"}' | jq -r .id)

# Poll until done, then fetch the Markdown report
curl -s https://crawlinx.com/r/$ID.md
```

Full API reference & usage rules: https://crawlinx.com/api
