Martinfowler.com - SEO Checker

Overview of the SEO Check
Meta information
56% 
Page quality
73% 
Page structure
50% 
Link structure
67% 
Server
92% 
External factors
100% 
SEO Score
Response time
0.56 s
File size
31.40 kB
Words
1544
Media files
8
Number of links
184 internal / 30 external

Task list of SEO Improvements

Meta specifications

Title
(Critically important)
martinfowler.com
The page title is too short. (151 pixels of 580 max pixel length) Optimize title
The domain is used in the page's title.
There are no duplicate words in the title
Meta description
(Critically important)
The meta description is missing.
Crawlability
(Critically important)
There are no problems in accessing the website.
Canonical URL
(Important)
No canonical link is specified.
Language
(Somewhat important)
Language detected in text: en
Server location: United States of America
The language is not specified in the HTML markup.
Alternate/Hreflang Links
(Somewhat important)
There are no alternate links specified on this page.
Other meta tags
(Somewhat important)
There is no rel next meta tag on this page.
There is no rel prev meta tag on this page.
Domain
(Somewhat important)
The domain is no subdomain.
The domain length is good.
The domain does not contain non-latin characters.
Page URL
(Somewhat important)
No parameters were found in the URL.
No session ID was found in the URL.
The URL does not have too many subdirectories.
Charset encoding
(Somewhat important)
The character encoding is not specified.
The character encoding is not specified in the HTTP header.
Doctype
(Nice to have)
The doctype XHTML 1.0 Transitional is set correctly.
The doctype is placed at first in the HTML code.
Favicon
(Nice to have)
No favicon is linked in the HTML code.

Meta tags

NameValue
charsetuft-8
viewportwidth=device-width, initial-scale=1
twitter:cardsummary
twitter:site:id16665197
twitter:site@martinfowler
og:titlemartinfowler.com
og:urlhttps://martinfowler.com/
og:descriptionA website on building software effectively
og:imagehttps://martinfowler.com/logo-sq.png
og:site_namemartinfowler.com
og:typearticle
Content-typetext/html;charset=UTF-8

Automatically check martinfowler.com including all subpages at once!

Try for free
Guaranteed free of charge during trial period.

Page quality

Content
(Critically important)
These Typos were found:
  • managment => management
This page contains 1544 words. That's ok.
36.1% of the text are stop words.
Words from the H1 heading are used in the page content.
The page contains a listing, which indicates a good text layout.
18 paragraphs were found on this page.
The text content is perfect.
No placeholders texts or images were found.
There are no duplicates on the site.
The average number of words per sentence of 23.72 words is good.
Frames
(Critically important)
This page does not use a frameset.
Mobile optimization
(Somewhat important)
Multiple viewport tags are given. There should only be one.
No Apple touch icon is specified.
A viewport "width=device-width, initial-scale=1" is provided.
This page does not require any JavaScript files.
Bold and strong tags
(Somewhat important)
The usage of strong and bold tags is perfect. We recommend the use of up to 31 tags for this page.
Image SEO
(Somewhat important)
7 images have no alt attribute. The content of alt attributes is used by search engines.
Social Networks
(Nice to have)
There are only a few social sharing widgets on the page. Make your website popular in social networks with social sharing widgets.
Additional markup
(Nice to have)
No additional page markup was found.
HTTPS
(Somewhat important)
This website uses HTTPS to protect privacy and integrity of the exchanged data.
All included files are also transferred via HTTPS.

Media list

URLAlt attributeTitle
https://martinfowler.com/mf-name-white.pngNo alt attribute provided
https://martinfowler.com/img/mf-dallas.jpgphoto of Martin Fowler
https://martinfowler.com/photos/131.jpgNo alt attribute provided
/architecture/oscon.pngNo alt attribute provided
https://martinfowler.com/board-games.pngNo alt attribute provided
/articles/exploring-gen-ai/donkey-card.pngNo alt attribute provided
/articles/expert-generalist/card.pngNo alt attribute provided
/thoughtworks_white.pngNo alt attribute provided

Page structure

H1 heading
(Critically important)
A website on building software effectively
Too many H1 headings
Headings
(Important)
Some headings occur twice on the page.

Heading structure

Heading levelContent
H1 A website on building software effectively
H1 Recent Changes
H2 Topics
H2 about me
H2 content
H2 Thoughtworks
H2 follow
H2 Photostream
H2 Data Management
H2 Domain-Specific Languages
H2 Books
H2 Conference Talks
H2 Board Games
H2 Tags
H2 Who is LLM
H2 Generative AI in software and essaying
H2 Three worthwhile articles yesterday
H2 I still care about the code
H2 LLMs bring new nature of abstraction
H2 Expert Generalists: first three characteristics
H2 Topics Duplicate text
H2 about me Duplicate text
H2 content Duplicate text
H2 Thoughtworks Duplicate text
H2 follow Duplicate text
Some anchor texts are used more than once.
3 links don't have an anchor text.
The number of internal links is ok.
None of the anchor texts is too long.
All internal links are not using dynamic parameters.
There are too many external links (30) on this page.
LinkAttributesAnchor text
https://martinfowler.com/No Text
https://martinfowler.com/Anchor No Text
https://refactoring.com/External Refactoring
/agile.htmlAgile
/architectureArchitecture
/aboutMe.htmlAbout
https://www.thoughtworks.com/External Subdomain Thoughtworks
/feed.atomA-TITLE feed
https://www.twitter.com/martin...External Subdomain A-TITLE Twitter stream
https://toot.thoughtworks.com/...External Subdomain A-TITLE Mastodon stream
https://www.linkedin.com/in/ma...External Subdomain A-TITLE LinkedIn
https://bsky.app/profile/marti...External A-TITLE BlueSky
/architectureText duplicate Architecture
https://refactoring.com/External Text duplicate Refactoring
/agile.htmlText duplicate Agile
/delivery.htmlDelivery
/microservicesMicroservices
https://martinfowler.com/dataData
https://martinfowler.com/testingTesting
https://martinfowler.com/dsl.htmlDSL
/aboutMe.htmlText duplicate About
https://martinfowler.com/booksBooks
https://martinfowler.com/faq.htmlFAQ
/videos.htmlVideos
https://martinfowler.com/tagsContent Index
/articles/eurogamesBoard Games
https://martinfowler.com/photosPhotography
https://thoughtworks.com/insightsExternal Insights
https://thoughtworks.com/careersExternal Careers
https://thoughtworks.com/radarExternal Radar
/feed.atomRSS
https://toot.thoughtworks.com/...External Subdomain Mastodon
https://www.linkedin.com/in/ma...External Subdomain Text duplicate LinkedIn
https://www.twitter.com/martin...External Subdomain X (Twitter)
https://boardgamegeek.com/blog...External BGG
https://thoughtworks.com/External Text duplicate Thoughtworks
/agile.htmlagile software development
/architecturearchitecture
/microservicesmicroservices
https://refactoring.com/External Text duplicate Refactoring
/delivery.htmlContinuous Delivery
https://martinfowler.com/testingText duplicate Testing
/photos/131.htmlNo Text
https://martinfowler.com/datadata management
https://martinfowler.com/dsl.htmlDomain-Specific Languages
https://martinfowler.com/booksMy Books Page...
/videos.htmlMy Videos Page...
/bliki/HeavyCardboard.htmlHeavy Cardboard
/articles/eurogames/My Board Games page...
/tags/API design.htmlAPI design
/tags/agile.htmlagile
/tags/agile adoption.htmlagile adoption
/tags/analysis patterns.htmlanalysis patterns
/tags/application architecture...application architecture
/tags/application integration....application integration
/tags/bad things.htmlbad things
/tags/board games.htmlboard games
/tags/build scripting.htmlbuild scripting
/tags/certification.htmlcertification
/tags/collaboration.htmlcollaboration
/tags/computer history.htmlcomputer history
/tags/conference panels.htmlconference panels
/tags/conferences.htmlconferences
/tags/continuous delivery.htmlcontinuous delivery
/tags/covid-19.htmlcovid-19
/tags/data analytics.htmldata analytics
/tags/data mesh.htmldata mesh
/tags/database.htmldatabase
/tags/design.htmldesign
/tags/dictionary.htmldictionary
/tags/distributed computing ma...distributed computing magazine
/tags/diversions.htmldiversions
/tags/diversity.htmldiversity
/tags/documentation.htmldocumentation
/tags/domain driven design.htmldomain driven design
/tags/domain specific language...domain specific language
/tags/domestic.htmldomestic
/tags/encapsulation.htmlencapsulation
/tags/enterprise architecture....enterprise architecture
/tags/estimation.htmlestimation
/tags/event architectures.htmlevent architectures
/tags/evolutionary design.htmlevolutionary design
/tags/experience reports.htmlexperience reports
/tags/expositional architectur...expositional architectures
/tags/extreme programming.htmlextreme programming
/tags/front-end.htmlfront-end
/tags/gadgets.htmlgadgets
/tags/generative AI.htmlgenerative AI
/tags/ieeeSoftware.htmlieeeSoftware
/tags/infodecks.htmlinfodecks
/tags/internet culture.htmlinternet culture
/tags/interviews.htmlinterviews
/tags/language feature.htmllanguage feature
/tags/language workbench.htmllanguage workbench
/tags/lean.htmllean
/tags/legacy modernization.htmllegacy modernization
/tags/legal.htmllegal
/tags/metrics.htmlmetrics
/tags/microservices.htmlText duplicate microservices
/tags/mobile.htmlmobile
/tags/noSQL.htmlnoSQL
/tags/object collaboration des...object collaboration design
/tags/parser generators.htmlparser generators
/tags/photography.htmlphotography
/tags/platforms.htmlplatforms
/tags/podcast.htmlpodcast
/tags/presentation technique.htmlpresentation technique
/tags/privacy.htmlprivacy
/tags/process theory.htmlprocess theory
/tags/productivity.htmlproductivity
/tags/programming environments...programming environments
/tags/programming style.htmlprogramming style
/tags/project planning.htmlproject planning
/tags/recruiting.htmlrecruiting
/tags/refactoring.htmlrefactoring
/tags/refactoring boundary.htmlrefactoring boundary
/tags/requirements analysis.htmlrequirements analysis
/tags/ruby.htmlruby
/tags/security.htmlsecurity
/tags/talk videos.htmltalk videos
/tags/team environment.htmlteam environment
/tags/team organization.htmlteam organization
/tags/technical debt.htmltechnical debt
/tags/technical leadership.htmltechnical leadership
/tags/test categories.htmltest categories
/tags/testing.htmltesting
/tags/thoughtworks.htmlthoughtworks
/tags/tools.htmltools
/tags/travel.htmltravel
/tags/uml.htmluml
/tags/version control.htmlversion control
/tags/web development.htmlweb development
/tags/web services.htmlweb services
/tags/website.htmlwebsite
/tags/writing.htmlwriting
/tags/2025.html2025
/tags/2024.html2024
/tags/2023.html2023
/tags/2022.html2022
/tags/2021.html2021
/tags/2020.html2020
/tags/2019.html2019
/tags/2018.html2018
/tags/2017.html2017
/tags/2016.html2016
/tags/2015.html2015
/tags/2014.html2014
/tags/2013.html2013
/tags/2012.html2012
/tags/2011.html2011
/tags/2010.html2010
/tags/2009.html2009
/tags/2008.html2008
/tags/2007.html2007
/tags/2006.html2006
/tags/2005.html2005
/tags/2004.html2004
/tags/2003.html2003
/tags/2002.html2002
/tags/2001.html2001
/tags/2000.html2000
/tags/1999.html1999
/tags/1998.html1998
/tags/1997.html1997
/tags/1996.html1996
/tags/index.htmlAll Content
/recent-changes.htmlRecent Changes
/feed.atomText duplicate RSS
https://toot.thoughtworks.com/...External Subdomain Fediverse (Mastodon)
https://bsky.app/profile/marti...External Bluesky
https://www.linkedin.com/in/ma...External Subdomain Text duplicate LinkedIn
https://twitter.com/martinfowlerExternal Text duplicate X (Twitter)
/recent-changes.htmlrecent changes
/articles/who-is-llm.htmlWho is LLM
/articles/who-is-llm.htmldescribe four of them
/articles/who-is-llm.htmlmore...
/articles/20250721-links.htmlGenerative AI in software and essaying
https://blog.korny.info/2025/0...External Subdomain great example
/articles/20250721-links.htmlText duplicate more...
/articles/202507-three-links.htmlThree worthwhile articles yesterday
/articles/202507-three-links.htmlText duplicate more...
/articles/exploring-gen-ai/i-s...I still care about the code
/articles/exploring-gen-ai/i-s...No Text
/articles/exploring-gen-ai/i-s...Text duplicate more...
/articles/2025-nature-abstract...LLMs bring new nature of abstraction
/articles/2025-nature-abstract...Text duplicate more...
/articles/expert-generalist.htmlExpert Generalists: first three characteristics
/articles/expert-generalist.htmlNo Text
/articles/expert-generalist.htmlText duplicate more...
/architectureText duplicate Architecture
https://refactoring.com/External Text duplicate Refactoring
/agile.htmlText duplicate Agile
/delivery.htmlText duplicate Delivery
/microservicesText duplicate Microservices
https://martinfowler.com/dataText duplicate Data
https://martinfowler.com/testingText duplicate Testing
https://martinfowler.com/dsl.htmlText duplicate DSL
/aboutMe.htmlText duplicate About
https://martinfowler.com/booksText duplicate Books
https://martinfowler.com/faq.htmlText duplicate FAQ
/videos.htmlText duplicate Videos
https://martinfowler.com/tagsText duplicate Content Index
/articles/eurogamesText duplicate Board Games
https://martinfowler.com/photosText duplicate Photography
https://thoughtworks.com/insightsExternal Text duplicate Insights
https://thoughtworks.com/careersExternal Text duplicate Careers
https://thoughtworks.com/radarExternal Text duplicate Radar
/feed.atomText duplicate RSS
https://toot.thoughtworks.com/...External Subdomain Text duplicate Mastodon
https://www.linkedin.com/in/ma...External Subdomain Text duplicate LinkedIn
https://www.twitter.com/martin...External Subdomain Text duplicate X (Twitter)
https://boardgamegeek.com/blog...External Text duplicate BGG
http://www.thoughtworks.com/External Subdomain No Text
/aboutMe.htmlDisclosures

Server configuration

HTTP redirects
(Critically important)
This page redirects to "https://martinfowler.com/"
HTTP header
(Important)
No X-Powered HTTP header is sent.
The web server transmits the web page (HTML) in compressed form.
Performance
(Somewhat important)
The page response time of 0.56 seconds is longer than the recommended limit of 0.4 seconds. A high response time unnecessarily slows down search engine crawling and results in bad user experience as well.
This page only loads 1 CSS files. That's ok.
This page does not require any JavaScript files.
The file size of the HTML document is fine (31 kB).

HTTP Response Header

NameValue
dateMon, 28 Jul 2025 02:13:48 GMT
serverApache
strict-transport-securitymax-age=31536000; includeSubDomains;
last-modifiedTue, 22 Jul 2025 08:10:05 GMT
etag"7da8-63a801eaad140-gzip"
accept-rangesbytes
varyAccept-Encoding
content-encodinggzip
content-security-policy-report-onlydefault-src https: 'unsafe-inline' 'unsafe-eval'; report-uri https://b3ceba9babf02086c0dca962bbbd1cda.report-uri.io/r/default/csp/reportOnly
x-frame-optionsDENY
x-xss-protection1; mode=block
content-length9154
content-typetext/html
statuscode200
http_versionHTTP/1.1

External factors

This page is referenced by wikipedia.
This website has excellent links from other websites.
This page has backlinks from 1,280 referring domains.
This page has 15,488 backlinks.
This page has backlinks from 906 different ip addresses.

Search preview

martinfowler.com
martinfowler.com

Most important keywords

Following keywords were found. You can check the keyword optimization of this page for each keyword.

KeywordResultRecheck
Software54%Check
site50%Check
website50%Check
build50%Check
building50%Check
effectively50%Check
effective50%Check
content47%Check
Software Development46%Check
Software System46%Check

Automatically check martinfowler.com including all subpages at once!

Try for free
Guaranteed free of charge during trial period.

Cookie Policy

We use cookies to make our site work and also for analytics and advertising purposes. You can enable or disable optional cookies as desired. See the following links for more information.

We need these so the site can function properly

So we can better understand how visitors use our website

So we can serve you tailored ads and promotions