---
tool: Crawlinx SEO audit
source: https://crawlinx.com
domain: heroku.com
report_url: "https://crawlinx.com/audit/heroku.com"
crawl_id: 20260711T010024-e4567f42
health_score: 65
generated_at: 2026-07-11T15:43:41Z
total_pages: 50
html_pages: 50
indexable_pages: 49
errors: 0
warnings: 163
notices: 102
---

# SEO audit: heroku.com

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

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

## Overview

| Metric | Value |
| --- | --- |
| Pages crawled | 50 |
| HTML pages | 50 |
| Indexable | 49 |
| Non-indexable | 1 |
| Orphan pages | 0 |
| Broken internal links | 0 |
| Avg response time | 1128 ms |
| Errors / Warnings / Notices | 0 / 163 / 102 |
| Status codes | 50×200 |

## Categories

| Category | Score | Errors | Warnings | Notices |
| --- | ---: | ---: | ---: | ---: |
| Links | 9 | 0 | 152 | 1 |
| Duplicate | 96 | 0 | 6 | 2 |
| Crawlability | 99 | 0 | 1 | 4 |
| Headings | 99 | 0 | 1 | 0 |
| Indexability | 99 | 0 | 1 | 0 |
| Meta Description | 99 | 0 | 1 | 7 |
| Sitemap | 99 | 0 | 1 | 0 |
| Content | 100 | 0 | 0 | 36 |
| Images | 100 | 0 | 0 | 49 |
| Social | 100 | 0 | 0 | 1 |
| Titles | 100 | 0 | 0 | 2 |

## Issues

### Warnings (163)

#### Duplicate page content

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

- [https://www.heroku.com/podcasts-all/](https://www.heroku.com/podcasts-all/) — content shared by 2 pages: https://www.heroku.com/podcasts-episodes/
- [https://www.heroku.com/podcasts-episodes/](https://www.heroku.com/podcasts-episodes/) — content shared by 2 pages: https://www.heroku.com/podcasts-all/

#### Near-duplicate page content

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

- [https://www.heroku.com/newsletter/](https://www.heroku.com/newsletter/) — near-duplicate of 1 page(s): https://www.heroku.com/videos/
- [https://www.heroku.com/videos/](https://www.heroku.com/videos/) — near-duplicate of 1 page(s): https://www.heroku.com/newsletter/

#### Duplicate <title> across pages

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

- [https://www.heroku.com/podcasts-all/](https://www.heroku.com/podcasts-all/) — title shared by 2 pages: https://www.heroku.com/podcasts-episodes/
- [https://www.heroku.com/podcasts-episodes/](https://www.heroku.com/podcasts-episodes/) — title shared by 2 pages: https://www.heroku.com/podcasts-all/

#### Incomplete/empty response after retries (likely transient — re-crawl)

- Rule: `fetch.incomplete` · Category: Crawlability · Occurrences: 1

- [https://www.heroku.com/github-students/signup/](https://www.heroku.com/github-students/signup/) — HTTP 200, 3 words after 3 attempts

#### Missing <h1>

- Rule: `h1.missing` · Category: Headings · Occurrences: 1

- [https://www.heroku.com/search/](https://www.heroku.com/search/)

#### Page is noindex

- Rule: `index.noindex` · Category: Indexability · Occurrences: 1

- [https://www.heroku.com/search/](https://www.heroku.com/search/) — meta/X-Robots: meta=noindex, follow

#### Internal link points to a redirect

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

- [https://heroku.com/](https://heroku.com/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://heroku.com/](https://heroku.com/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://heroku.com/](https://heroku.com/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/about/](https://www.heroku.com/about/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/about/](https://www.heroku.com/about/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/about/](https://www.heroku.com/about/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/account-lockout/](https://www.heroku.com/account-lockout/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/account-lockout/](https://www.heroku.com/account-lockout/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/account-lockout/](https://www.heroku.com/account-lockout/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/agencies/](https://www.heroku.com/agencies/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/agencies/](https://www.heroku.com/agencies/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/agencies/](https://www.heroku.com/agencies/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/agencies/capabilities/](https://www.heroku.com/agencies/capabilities/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/agencies/capabilities/](https://www.heroku.com/agencies/capabilities/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/agencies/capabilities/](https://www.heroku.com/agencies/capabilities/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/ai/mcp-on-heroku/](https://www.heroku.com/ai/mcp-on-heroku/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/ai/mcp-on-heroku/](https://www.heroku.com/ai/mcp-on-heroku/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/ai/mcp-on-heroku/](https://www.heroku.com/ai/mcp-on-heroku/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/application-performance-assessment/](https://www.heroku.com/application-performance-assessment/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/application-performance-assessment/](https://www.heroku.com/application-performance-assessment/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/application-performance-assessment/](https://www.heroku.com/application-performance-assessment/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/art/](https://www.heroku.com/art/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/art/](https://www.heroku.com/art/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/art/](https://www.heroku.com/art/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/blog/](https://www.heroku.com/blog/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/blog/](https://www.heroku.com/blog/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/blog/](https://www.heroku.com/blog/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/blog/faster-postgres-backups/](https://www.heroku.com/blog/faster-postgres-backups/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/blog/faster-postgres-backups/](https://www.heroku.com/blog/faster-postgres-backups/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/blog/faster-postgres-backups/](https://www.heroku.com/blog/faster-postgres-backups/) — https://www.heroku.com/contact-sales/ → https://www.heroku.com/contact/
- [https://www.heroku.com/blog/faster-postgres-backups/](https://www.heroku.com/blog/faster-postgres-backups/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/careers/](https://www.heroku.com/careers/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/careers/](https://www.heroku.com/careers/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/careers/](https://www.heroku.com/careers/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/case-studies/](https://www.heroku.com/case-studies/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/case-studies/](https://www.heroku.com/case-studies/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/case-studies/](https://www.heroku.com/case-studies/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/community-stories/](https://www.heroku.com/community-stories/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/community-stories/](https://www.heroku.com/community-stories/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/community-stories/](https://www.heroku.com/community-stories/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/contact-sales/](https://www.heroku.com/contact-sales/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/contact-sales/](https://www.heroku.com/contact-sales/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/contact-sales/](https://www.heroku.com/contact-sales/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/continuous-delivery/](https://www.heroku.com/continuous-delivery/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/continuous-delivery/](https://www.heroku.com/continuous-delivery/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/continuous-delivery/](https://www.heroku.com/continuous-delivery/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/ctos/](https://www.heroku.com/ctos/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/ctos/](https://www.heroku.com/ctos/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/ctos/](https://www.heroku.com/ctos/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/customers/](https://www.heroku.com/customers/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/customers/](https://www.heroku.com/customers/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/customers/](https://www.heroku.com/customers/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/deploy-with-docker/](https://www.heroku.com/deploy-with-docker/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/deploy-with-docker/](https://www.heroku.com/deploy-with-docker/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/deploy-with-docker/](https://www.heroku.com/deploy-with-docker/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/dynos/build/](https://www.heroku.com/dynos/build/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/dynos/build/](https://www.heroku.com/dynos/build/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/dynos/build/](https://www.heroku.com/dynos/build/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/ebook-heroku-and-agentforce/](https://www.heroku.com/ebook-heroku-and-agentforce/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/ebook-heroku-and-agentforce/](https://www.heroku.com/ebook-heroku-and-agentforce/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/ebook-heroku-and-agentforce/](https://www.heroku.com/ebook-heroku-and-agentforce/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/ebook/salesforce-runs-on-heroku-global-scalability/](https://www.heroku.com/ebook/salesforce-runs-on-heroku-global-scalability/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/ebook/salesforce-runs-on-heroku-global-scalability/](https://www.heroku.com/ebook/salesforce-runs-on-heroku-global-scalability/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/ebook/salesforce-runs-on-heroku-global-scalability/](https://www.heroku.com/ebook/salesforce-runs-on-heroku-global-scalability/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/elements/](https://www.heroku.com/elements/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/elements/](https://www.heroku.com/elements/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/elements/](https://www.heroku.com/elements/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/elements/join/](https://www.heroku.com/elements/join/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/elements/join/](https://www.heroku.com/elements/join/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/elements/join/](https://www.heroku.com/elements/join/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/events/](https://www.heroku.com/events/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/events/](https://www.heroku.com/events/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/events/](https://www.heroku.com/events/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/form/appscompany/](https://www.heroku.com/form/appscompany/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/form/appscompany/](https://www.heroku.com/form/appscompany/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/form/appscompany/](https://www.heroku.com/form/appscompany/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/heroku-gartner-magic-quadrant/](https://www.heroku.com/heroku-gartner-magic-quadrant/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/heroku-gartner-magic-quadrant/](https://www.heroku.com/heroku-gartner-magic-quadrant/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/heroku-gartner-magic-quadrant/](https://www.heroku.com/heroku-gartner-magic-quadrant/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/heroku-postgres-assessment/](https://www.heroku.com/heroku-postgres-assessment/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/heroku-postgres-assessment/](https://www.heroku.com/heroku-postgres-assessment/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/heroku-postgres-assessment/](https://www.heroku.com/heroku-postgres-assessment/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/key-value-store/](https://www.heroku.com/key-value-store/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/key-value-store/](https://www.heroku.com/key-value-store/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/key-value-store/](https://www.heroku.com/key-value-store/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/languages/](https://www.heroku.com/languages/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/languages/](https://www.heroku.com/languages/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/languages/](https://www.heroku.com/languages/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/newsletter/](https://www.heroku.com/newsletter/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/newsletter/](https://www.heroku.com/newsletter/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/newsletter/](https://www.heroku.com/newsletter/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/onboarding-implementation/](https://www.heroku.com/onboarding-implementation/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/onboarding-implementation/](https://www.heroku.com/onboarding-implementation/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/onboarding-implementation/](https://www.heroku.com/onboarding-implementation/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/open-source-credit-program/](https://www.heroku.com/open-source-credit-program/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/open-source-credit-program/](https://www.heroku.com/open-source-credit-program/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/open-source-credit-program/](https://www.heroku.com/open-source-credit-program/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/operational-review/](https://www.heroku.com/operational-review/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/operational-review/](https://www.heroku.com/operational-review/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/operational-review/](https://www.heroku.com/operational-review/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/partnering/](https://www.heroku.com/partnering/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/partnering/](https://www.heroku.com/partnering/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/partnering/](https://www.heroku.com/partnering/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/partnering/consulting-partner/](https://www.heroku.com/partnering/consulting-partner/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/partnering/consulting-partner/](https://www.heroku.com/partnering/consulting-partner/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/partnering/consulting-partner/](https://www.heroku.com/partnering/consulting-partner/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/partners-app-showcase/](https://www.heroku.com/partners-app-showcase/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/partners-app-showcase/](https://www.heroku.com/partners-app-showcase/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/partners-app-showcase/](https://www.heroku.com/partners-app-showcase/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/past-events/](https://www.heroku.com/past-events/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/past-events/](https://www.heroku.com/past-events/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/past-events/](https://www.heroku.com/past-events/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/plan-for-application-scaling/](https://www.heroku.com/plan-for-application-scaling/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/plan-for-application-scaling/](https://www.heroku.com/plan-for-application-scaling/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/plan-for-application-scaling/](https://www.heroku.com/plan-for-application-scaling/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/podcasts-all/](https://www.heroku.com/podcasts-all/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/podcasts-all/](https://www.heroku.com/podcasts-all/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/podcasts-all/](https://www.heroku.com/podcasts-all/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/podcasts-episodes/](https://www.heroku.com/podcasts-episodes/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/podcasts-episodes/](https://www.heroku.com/podcasts-episodes/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/podcasts-episodes/](https://www.heroku.com/podcasts-episodes/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/resources/articles/](https://www.heroku.com/resources/articles/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/resources/articles/](https://www.heroku.com/resources/articles/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/resources/articles/](https://www.heroku.com/resources/articles/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/resources/articles/what-is-ai-paas/](https://www.heroku.com/resources/articles/what-is-ai-paas/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/resources/articles/what-is-ai-paas/](https://www.heroku.com/resources/articles/what-is-ai-paas/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/resources/articles/what-is-ai-paas/](https://www.heroku.com/resources/articles/what-is-ai-paas/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/salestax/](https://www.heroku.com/salestax/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/salestax/](https://www.heroku.com/salestax/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/salestax/](https://www.heroku.com/salestax/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/search/](https://www.heroku.com/search/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/search/](https://www.heroku.com/search/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/search/](https://www.heroku.com/search/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/sitemap/](https://www.heroku.com/sitemap/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/sitemap/](https://www.heroku.com/sitemap/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/sitemap/](https://www.heroku.com/sitemap/) — https://www.heroku.com/contact-sales/ → https://www.heroku.com/contact/
- [https://www.heroku.com/sitemap/](https://www.heroku.com/sitemap/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/sitemap/](https://www.heroku.com/sitemap/) — https://www.heroku.com/github-students/signup/ → https://www2.heroku.com/auth/login
- [https://www.heroku.com/sitemap/](https://www.heroku.com/sitemap/) — https://www.heroku.com/podcasts-all/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/sitemap/](https://www.heroku.com/sitemap/) — https://www.heroku.com/podcasts-episodes/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/solution-proposal/](https://www.heroku.com/solution-proposal/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/solution-proposal/](https://www.heroku.com/solution-proposal/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/solution-proposal/](https://www.heroku.com/solution-proposal/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/technical-discovery/](https://www.heroku.com/technical-discovery/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/technical-discovery/](https://www.heroku.com/technical-discovery/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/technical-discovery/](https://www.heroku.com/technical-discovery/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/unsupported-button-deploy/](https://www.heroku.com/unsupported-button-deploy/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/unsupported-button-deploy/](https://www.heroku.com/unsupported-button-deploy/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/unsupported-button-deploy/](https://www.heroku.com/unsupported-button-deploy/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/
- [https://www.heroku.com/videos/](https://www.heroku.com/videos/) — https://www.heroku.com/ → https://www.heroku.com/
- [https://www.heroku.com/videos/](https://www.heroku.com/videos/) — https://www.heroku.com/codeish-podcasts/ → https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/videos/](https://www.heroku.com/videos/) — https://www.heroku.com/contact/ → https://www.heroku.com/contact/

#### Missing meta description

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

- [https://www.heroku.com/blog/](https://www.heroku.com/blog/)

#### Non-indexable URL listed in sitemap

- Rule: `sitemap.non_indexable` · Category: Sitemap · Occurrences: 1

- [https://www.heroku.com/search/](https://www.heroku.com/search/) — listed in sitemap but noindex

### Notices (102)

#### Low text-to-HTML ratio

- Rule: `content.low_ratio` · Category: Content · Occurrences: 36

- [https://www.heroku.com/account-lockout/](https://www.heroku.com/account-lockout/) — 3.3%
- [https://www.heroku.com/agencies/](https://www.heroku.com/agencies/) — 4.5%
- [https://www.heroku.com/agencies/capabilities/](https://www.heroku.com/agencies/capabilities/) — 4.8%
- [https://www.heroku.com/ai/mcp-on-heroku/](https://www.heroku.com/ai/mcp-on-heroku/) — 4.1%
- [https://www.heroku.com/application-performance-assessment/](https://www.heroku.com/application-performance-assessment/) — 4.1%
- [https://www.heroku.com/blog/](https://www.heroku.com/blog/) — 4.1%
- [https://www.heroku.com/blog/faster-postgres-backups/](https://www.heroku.com/blog/faster-postgres-backups/) — 4.6%
- [https://www.heroku.com/careers/](https://www.heroku.com/careers/) — 4.1%
- [https://www.heroku.com/contact-sales/](https://www.heroku.com/contact-sales/) — 3.8%
- [https://www.heroku.com/ctos/](https://www.heroku.com/ctos/) — 5.0%
- [https://www.heroku.com/customers/](https://www.heroku.com/customers/) — 4.2%
- [https://www.heroku.com/deploy-with-docker/](https://www.heroku.com/deploy-with-docker/) — 4.3%
- [https://www.heroku.com/dynos/build/](https://www.heroku.com/dynos/build/) — 4.0%
- [https://www.heroku.com/ebook-heroku-and-agentforce/](https://www.heroku.com/ebook-heroku-and-agentforce/) — 3.4%
- [https://www.heroku.com/ebook/salesforce-runs-on-heroku-global-scalability/](https://www.heroku.com/ebook/salesforce-runs-on-heroku-global-scalability/) — 3.3%
- [https://www.heroku.com/elements/](https://www.heroku.com/elements/) — 4.6%
- [https://www.heroku.com/elements/join/](https://www.heroku.com/elements/join/) — 4.4%
- [https://www.heroku.com/events/](https://www.heroku.com/events/) — 3.5%
- [https://www.heroku.com/form/appscompany/](https://www.heroku.com/form/appscompany/) — 3.2%
- [https://www.heroku.com/heroku-gartner-magic-quadrant/](https://www.heroku.com/heroku-gartner-magic-quadrant/) — 4.2%
- [https://www.heroku.com/heroku-postgres-assessment/](https://www.heroku.com/heroku-postgres-assessment/) — 4.0%
- [https://www.heroku.com/newsletter/](https://www.heroku.com/newsletter/) — 2.9%
- [https://www.heroku.com/onboarding-implementation/](https://www.heroku.com/onboarding-implementation/) — 4.1%
- [https://www.heroku.com/open-source-credit-program/](https://www.heroku.com/open-source-credit-program/) — 4.7%
- [https://www.heroku.com/operational-review/](https://www.heroku.com/operational-review/) — 4.1%
- [https://www.heroku.com/partnering/](https://www.heroku.com/partnering/) — 4.3%
- [https://www.heroku.com/partnering/consulting-partner/](https://www.heroku.com/partnering/consulting-partner/) — 4.7%
- [https://www.heroku.com/plan-for-application-scaling/](https://www.heroku.com/plan-for-application-scaling/) — 4.1%
- [https://www.heroku.com/podcasts-all/](https://www.heroku.com/podcasts-all/) — 4.0%
- [https://www.heroku.com/podcasts-episodes/](https://www.heroku.com/podcasts-episodes/) — 4.0%
- [https://www.heroku.com/resources/articles/](https://www.heroku.com/resources/articles/) — 3.8%
- [https://www.heroku.com/salestax/](https://www.heroku.com/salestax/) — 3.5%
- [https://www.heroku.com/solution-proposal/](https://www.heroku.com/solution-proposal/) — 4.1%
- [https://www.heroku.com/technical-discovery/](https://www.heroku.com/technical-discovery/) — 4.1%
- [https://www.heroku.com/unsupported-button-deploy/](https://www.heroku.com/unsupported-button-deploy/) — 3.6%
- [https://www.heroku.com/videos/](https://www.heroku.com/videos/) — 3.5%

#### Duplicate meta description across pages

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

- [https://www.heroku.com/podcasts-all/](https://www.heroku.com/podcasts-all/) — meta description shared by 2 pages: https://www.heroku.com/podcasts-episodes/
- [https://www.heroku.com/podcasts-episodes/](https://www.heroku.com/podcasts-episodes/) — meta description shared by 2 pages: https://www.heroku.com/podcasts-all/

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

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

- [https://heroku.com/](https://heroku.com/) — 21 of 35 images without width/height
- [https://www.heroku.com/about/](https://www.heroku.com/about/) — 11 of 19 images without width/height
- [https://www.heroku.com/account-lockout/](https://www.heroku.com/account-lockout/) — 3 of 10 images without width/height
- [https://www.heroku.com/agencies/](https://www.heroku.com/agencies/) — 6 of 14 images without width/height
- [https://www.heroku.com/agencies/capabilities/](https://www.heroku.com/agencies/capabilities/) — 3 of 10 images without width/height
- [https://www.heroku.com/ai/mcp-on-heroku/](https://www.heroku.com/ai/mcp-on-heroku/) — 4 of 12 images without width/height
- [https://www.heroku.com/application-performance-assessment/](https://www.heroku.com/application-performance-assessment/) — 3 of 10 images without width/height
- [https://www.heroku.com/art/](https://www.heroku.com/art/) — 23 of 30 images without width/height
- [https://www.heroku.com/blog/](https://www.heroku.com/blog/) — 3 of 10 images without width/height
- [https://www.heroku.com/blog/faster-postgres-backups/](https://www.heroku.com/blog/faster-postgres-backups/) — 4 of 15 images without width/height
- [https://www.heroku.com/careers/](https://www.heroku.com/careers/) — 12 of 22 images without width/height
- [https://www.heroku.com/case-studies/](https://www.heroku.com/case-studies/) — 103 of 110 images without width/height
- [https://www.heroku.com/community-stories/](https://www.heroku.com/community-stories/) — 3 of 10 images without width/height
- [https://www.heroku.com/contact-sales/](https://www.heroku.com/contact-sales/) — 3 of 10 images without width/height
- [https://www.heroku.com/continuous-delivery/](https://www.heroku.com/continuous-delivery/) — 10 of 18 images without width/height
- [https://www.heroku.com/ctos/](https://www.heroku.com/ctos/) — 5 of 12 images without width/height
- [https://www.heroku.com/customers/](https://www.heroku.com/customers/) — 10 of 17 images without width/height
- [https://www.heroku.com/deploy-with-docker/](https://www.heroku.com/deploy-with-docker/) — 4 of 12 images without width/height
- [https://www.heroku.com/dynos/build/](https://www.heroku.com/dynos/build/) — 5 of 15 images without width/height
- [https://www.heroku.com/ebook-heroku-and-agentforce/](https://www.heroku.com/ebook-heroku-and-agentforce/) — 3 of 11 images without width/height
- [https://www.heroku.com/ebook/salesforce-runs-on-heroku-global-scalability/](https://www.heroku.com/ebook/salesforce-runs-on-heroku-global-scalability/) — 3 of 11 images without width/height
- [https://www.heroku.com/elements/](https://www.heroku.com/elements/) — 5 of 12 images without width/height
- [https://www.heroku.com/elements/join/](https://www.heroku.com/elements/join/) — 7 of 14 images without width/height
- [https://www.heroku.com/events/](https://www.heroku.com/events/) — 4 of 11 images without width/height
- [https://www.heroku.com/form/appscompany/](https://www.heroku.com/form/appscompany/) — 3 of 11 images without width/height
- [https://www.heroku.com/heroku-gartner-magic-quadrant/](https://www.heroku.com/heroku-gartner-magic-quadrant/) — 3 of 11 images without width/height
- [https://www.heroku.com/heroku-postgres-assessment/](https://www.heroku.com/heroku-postgres-assessment/) — 3 of 10 images without width/height
- [https://www.heroku.com/key-value-store/](https://www.heroku.com/key-value-store/) — 5 of 13 images without width/height
- [https://www.heroku.com/languages/](https://www.heroku.com/languages/) — 12 of 19 images without width/height
- [https://www.heroku.com/newsletter/](https://www.heroku.com/newsletter/) — 3 of 11 images without width/height
- [https://www.heroku.com/onboarding-implementation/](https://www.heroku.com/onboarding-implementation/) — 3 of 10 images without width/height
- [https://www.heroku.com/open-source-credit-program/](https://www.heroku.com/open-source-credit-program/) — 3 of 10 images without width/height
- [https://www.heroku.com/operational-review/](https://www.heroku.com/operational-review/) — 3 of 10 images without width/height
- [https://www.heroku.com/partnering/](https://www.heroku.com/partnering/) — 5 of 12 images without width/height
- [https://www.heroku.com/partnering/consulting-partner/](https://www.heroku.com/partnering/consulting-partner/) — 11 of 18 images without width/height
- [https://www.heroku.com/partners-app-showcase/](https://www.heroku.com/partners-app-showcase/) — 3 of 56 images without width/height
- [https://www.heroku.com/past-events/](https://www.heroku.com/past-events/) — 3 of 10 images without width/height
- [https://www.heroku.com/plan-for-application-scaling/](https://www.heroku.com/plan-for-application-scaling/) — 3 of 10 images without width/height
- [https://www.heroku.com/podcasts-all/](https://www.heroku.com/podcasts-all/) — 6 of 20 images without width/height
- [https://www.heroku.com/podcasts-episodes/](https://www.heroku.com/podcasts-episodes/) — 6 of 20 images without width/height
- [https://www.heroku.com/resources/articles/](https://www.heroku.com/resources/articles/) — 3 of 10 images without width/height
- [https://www.heroku.com/resources/articles/what-is-ai-paas/](https://www.heroku.com/resources/articles/what-is-ai-paas/) — 3 of 10 images without width/height
- [https://www.heroku.com/salestax/](https://www.heroku.com/salestax/) — 4 of 11 images without width/height
- [https://www.heroku.com/search/](https://www.heroku.com/search/) — 3 of 10 images without width/height
- [https://www.heroku.com/sitemap/](https://www.heroku.com/sitemap/) — 3 of 10 images without width/height
- [https://www.heroku.com/solution-proposal/](https://www.heroku.com/solution-proposal/) — 3 of 10 images without width/height
- [https://www.heroku.com/technical-discovery/](https://www.heroku.com/technical-discovery/) — 3 of 10 images without width/height
- [https://www.heroku.com/unsupported-button-deploy/](https://www.heroku.com/unsupported-button-deploy/) — 3 of 10 images without width/height
- [https://www.heroku.com/videos/](https://www.heroku.com/videos/) — 8 of 15 images without width/height

#### Internal link points to a noindex page

- Rule: `links.to_noindex` · Category: Links · Occurrences: 1

- [https://www.heroku.com/sitemap/](https://www.heroku.com/sitemap/) — https://www.heroku.com/search/

#### Meta description too long

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

- [https://www.heroku.com/art/](https://www.heroku.com/art/) — 376 chars
- [https://www.heroku.com/newsletter/](https://www.heroku.com/newsletter/) — 165 chars
- [https://www.heroku.com/partnering/](https://www.heroku.com/partnering/) — 183 chars
- [https://www.heroku.com/past-events/](https://www.heroku.com/past-events/) — 402 chars

#### Meta description too short

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

- [https://www.heroku.com/onboarding-implementation/](https://www.heroku.com/onboarding-implementation/) — 46 chars
- [https://www.heroku.com/operational-review/](https://www.heroku.com/operational-review/) — 45 chars
- [https://www.heroku.com/sitemap/](https://www.heroku.com/sitemap/) — 7 chars

#### Missing Open Graph tags

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

- [https://www.heroku.com/blog/](https://www.heroku.com/blog/) — og:description

#### URL redirects to another URL

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

- [https://heroku.com/](https://heroku.com/) — redirects to https://www.heroku.com/
- [https://www.heroku.com/contact-sales/](https://www.heroku.com/contact-sales/) — redirects to https://www.heroku.com/contact/
- [https://www.heroku.com/podcasts-all/](https://www.heroku.com/podcasts-all/) — redirects to https://www.heroku.com/codeish-podcasts/
- [https://www.heroku.com/podcasts-episodes/](https://www.heroku.com/podcasts-episodes/) — redirects to https://www.heroku.com/codeish-podcasts/

#### Title is very short

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

- [https://www.heroku.com/art/](https://www.heroku.com/art/) — 12 chars
- [https://www.heroku.com/blog/](https://www.heroku.com/blog/) — 13 chars

## Checks & coverage

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

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

---
*Generated by [Crawlinx](https://crawlinx.com) · free technical-SEO audits · https://crawlinx.com/audit/heroku.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
