Realpython.com - SEO Checker

Overview of the SEO Check
Meta information
100% 
Page quality
75% 
Page structure
100% 
Link structure
30% 
Server
90% 
External factors
100% 
SEO Score
Response time
0.60 s
File size
67.40 kB
Words
509
Media files
21
Number of links
154 internal / 5 external

Task list of SEO Improvements

Meta specifications

Title
(Critically important)
Python Tutorials – Real Python
The length of the page title is perfect. (279 pixels out of 580 max pixel length)
There are no duplicate words in the title
Meta description
(Critically important)
Learn Python online: Python tutorials for developers of all skill levels, Python books and courses, Python news, code examples, articles, and more.
The length of the meta description is perfect. (902 pixels out of 1000 max pixel length)
Crawlability
(Critically important)
There are no problems in accessing the website.
Canonical URL
(Important)
https://realpython.com/
There is a valid canonical link specified.
Language
(Somewhat important)
Language detected in text: en
Language defined in HTML: en
Server location: United States of America
The following language is defined by HTML: en
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 charset encoding (UTF-8) is set correctly.
Doctype
(Nice to have)
The doctype HTML 5 is set correctly.
The doctype is placed at first in the HTML code.
Favicon
(Nice to have)
The favicon is linked correctly.

Meta tags

NameValue
authorReal Python
descriptionLearn Python online: Python tutorials for developers of all skill levels, Python books and courses, Python news, code examples, articles, and more.
keywordsEmpty
viewportwidth=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover
langen
twitter:cardsummary
twitter:creator@realpython
twitter:site@realpython
twitter:image/static/social-default-image.5e1aa4786b3a.png
og:image/static/social-default-image.5e1aa4786b3a.png
og:titlePython Tutorials – Real Python
og:typewebsite
og:urlhttps://realpython.com/
og:descriptionLearn Python online: Python tutorials for developers of all skill levels, Python books and courses, Python news, code examples, articles, and more.
charsetutf-8

Test up to 1.000 webpages of realpython.com with our free plan!

Try For Free
No trial. It's just free!

Page quality

Content
(Critically important)
Only 1 paragraph/s was/were found on this page.
This page contains 509 words. That's ok.
21.8% of the text are stop words.
Keywords used in the page title are also used in the page content. That's good!
Words from the H1 heading are used in the page content.
The page contains a listing, which indicates a good text layout.
No placeholders texts or images were found.
There are no duplicates on the site.
The average number of words per sentence of 15.67 words is good.
Frames
(Critically important)
This page does not use a frameset.
Mobile optimization
(Somewhat important)
No Apple touch icon is specified.
A viewport "width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover" is provided.
Bold and strong tags
(Somewhat important)
The usage of strong and bold tags is perfect. We recommend the use of up to 10 tags for this page.
Image SEO
(Somewhat important)
Alt text (alternative text) is correctly used on all found images.
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
/static/real-python-logo.893c30edea53.svgReal Python
...with-Python_Watermarked.a80fc2b14da2.jpgBuild a Guitar Synthesizer: Play Musical Tablature in Python
/static/pytrick-dict-merge.4201a0125a5e.pngPython Tricks Dictionary Merge
...ers-in-Python_Watermark.6fb8573ce8f5.jpgHow to Round Numbers in Python
...Ruff-Linter_Watermarked.71e600eb11de.jpgRuff: A Modern Linter for Error-Free and Maintainable Code
...-Mappings_Watermarked-2.a8cbbb3a0c5d.jpgPython Mappings: A Comprehensive Guide
...with-Python_Watermarked.b31aa29fe7c7.jpgHow to Get a List of All Files in a Directory With Python
...News_Purple_Watermarked.5b2e306328cb.jpgPython Monthly News
...Practices_Watermarked-2.e0a560b0184d.jpgPython String Formatting: Available Tools and Their Features
...s-in-Python_Watermarked.f9ce5bda238c.jpgImplementing an Interface in Python
...n-in-Python_Watermarked.71ef9704414a.jpgString Interpolation in Python: Exploring Available Tools
...-Operations_Watermarked.b243ab2b79cb.jpgWhat Are CRUD Operations?
...to-Use-Them_Watermarked.5df74332ac58.jpgIterators and Iterables in Python: Run Efficient Iterations
...a-in-Python_Watermarked.b50d3e60cb29.jpgHow to Create a Pivot Table With pandas
...on-calendar_Watermarked.f1a5c21b8fa3.jpgThe Python calendar Module: Create Calendars With Python
...ith-Tkinter_Watermarked.9e1a9c9070e4.jpgPython GUI Programming With Tkinter
...s-in-Python_Watermarked.e3dd34457952.jpgBasic Data Types in Python
...First-PyCon_Watermarked.fa273e6fe8b9.jpgHow to Get the Most Out of PyCon
...th-Examples_Watermarked.c11d5d8176c3.jpgPython's Built-In Exceptions: A Walkthrough With Examples
...-Developers_Watermarked.971e946a417f.jpgHTML and CSS for Python Developers
...__pycache___Watermarked.0e2367687d70.jpgWhat Is the __pycache__ Folder in Python?

Page structure

H1 heading
(Critically important)
Real Python Tutorials
The H1 heading is perfect.
Headings
(Important)
The heading structure is perfect.

Heading structure

Heading levelContent
H1 Real Python Tutorials
H2 Build a Guitar Synthesizer: Play Musical Tablature in Python
H2 Explore Real Python
H2 New Releases
H2 Rounding Numbers in Python
H2 Ruff: A Modern Python Linter for Error-Free and Maintainable Code
H2 Python Mappings: A Comprehensive Guide
H2 Listing All Files in a Directory With Python
H2 Python News: What's New From May 2024
H2 Python String Formatting: Available Tools and Their Features
H2 Python Interfaces: Object-Oriented Design Principles
H2 String Interpolation in Python: Exploring Available Tools
H2 What Are CRUD Operations?
H2 Efficient Iterations With Python Iterators and Iterables
H2 How to Create Pivot Tables With pandas
H2 The Python calendar Module: Create Calendars With Python
H2 Building a Python GUI Application With Tkinter
H2 Basic Data Types in Python: A Quick Exploration
H2 How to Get the Most Out of PyCon US
H2 Python's Built-in Exceptions: A Walkthrough With Examples
H2 HTML and CSS Foundations for Python Developers
H2 What Is the __pycache__ Folder in Python?
Some internal links have dynamic parameters. All internal URLs, which are not marked as nofollow, should not contain dynamic parameters.
Some anchor texts are used more than once.
The number of internal links is ok.
None of the anchor texts is too long.
There are 5 external links on this page.
LinkAttributesAnchor text
https://realpython.com/IMG-ALT Real Python
/start-here/Start Here
/search?kind=article&kind=cour...Python Tutorials → In-depth articles and video courses
/learning-paths/Learning Paths → Guided study plans for accelerated learning
https://realpython.com/quizzes/Quizzes → Check your learning progress
/tutorials/all/Browse Topics → Focus on a specific area or skill level
https://realpython.com/community/Community Chat → Learn with other Pythonistas
/office-hours/Office Hours → Live Q&A calls with Python experts
/podcasts/rpp/Podcast → Hear what’s new in the world of Python
/products/books/Books → Round out your knowledge and learn offline
/account/join/Unlock All Content →
/learner-stories/Learner Stories
/newsletter/Python Newsletter
https://www.pythonjobshq.com/New window External Subdomain Python Job Board
https://realpython.com/team/Meet the Team
/write-for-us/Become a Tutorial Writer
/become-an-instructor/Become a Video Instructor
https://realpython.com/searchSearch
A-TITLE Search
https://realpython.com/searchText duplicate A-TITLE Search
/account/join/Join
/account/login/?next=/Sign‑In
/python-guitar-synthesizer/NEW
IMG-ALT Build a Guitar Synthesizer: Play Musical Tablature in Python
/python-guitar-synthesizer/Build a Guitar Synthesizer: Play Musical Tablature in Python
/tutorials/intermediate/intermediate
/tutorials/projects/projects
/tutorials/all/Browse Topics
/learning-paths/Guided Learning Paths
/search?level=basicsBasics
/search?level=intermediateIntermediate
/search?level=advancedAdvanced
/tutorials/api/api
/tutorials/best-practices/best-practices
/tutorials/career/career
/tutorials/community/community
/tutorials/databases/databases
/tutorials/data-science/data-science
/tutorials/data-structures/data-structures
/tutorials/data-viz/data-viz
/tutorials/devops/devops
/tutorials/django/django
/tutorials/docker/docker
/tutorials/editors/editors
/tutorials/flask/flask
/tutorials/front-end/front-end
/tutorials/gamedev/gamedev
/tutorials/gui/gui
/tutorials/machine-learning/machine-learning
/tutorials/numpy/numpy
/tutorials/projects/Text duplicate projects
/tutorials/python/python
/tutorials/testing/testing
/tutorials/tools/tools
/tutorials/web-dev/web-dev
/tutorials/web-scraping/web-scraping
/learning-paths/Learning Paths Guided study plans for accelerated learning
/search?kind=article&kind=cour...Python Tutorials In-depth articles and step-by-step video courses
https://realpython.com/quizzes/Quizzes Evaluate your Python knowledge with quick tests
/tutorials/all/Browse Topics Focus on a specific area or skill level
https://realpython.com/community/Community Chat Learn with other Pythonistas
/office-hours/Office Hours Live Q&A calls with experts from Real Python
/podcasts/rpp/Podcast Hear what’s new in the world of Python
/products/books/Books Round out your knowledge and learn offline
https://realpython.com/searchText duplicate A-TITLE Search
/search?order=newestNew Releases
/search?order=newestView All »
/courses/rounding-numbers-python/IMG-ALT How to Round Numbers in Python
/courses/rounding-numbers-python/Rounding Numbers in Python
/tutorials/intermediate/Text duplicate intermediate
/tutorials/best-practices/Text duplicate best-practices
/tutorials/python/Text duplicate python
/ruff-python/IMG-ALT Ruff: A Modern Linter for Error-Free and Maintainable Code
/ruff-python/Ruff: A Modern Python Linter for Error-Free and Maintainable Code
/tutorials/intermediate/Text duplicate intermediate
/tutorials/devops/Text duplicate devops
/tutorials/tools/Text duplicate tools
/python-mappings/IMG-ALT Python Mappings: A Comprehensive Guide
/python-mappings/Text duplicate Python Mappings: A Comprehensive Guide
/tutorials/intermediate/Text duplicate intermediate
/tutorials/python/Text duplicate python
/courses/listing-all-files-dir...IMG-ALT How to Get a List of All Files in a Directory With Python
/courses/listing-all-files-dir...Listing All Files in a Directory With Python
/tutorials/intermediate/Text duplicate intermediate
/python-news-may-2024/IMG-ALT Python Monthly News
/python-news-may-2024/Python News: What's New From May 2024
/tutorials/community/Text duplicate community
/python-string-formatting/IMG-ALT Python String Formatting: Available Tools and Their Features
/python-string-formatting/Text duplicate Python String Formatting: Available Tools and Their Features
/tutorials/basics/basics
/tutorials/best-practices/Text duplicate best-practices
/tutorials/python/Text duplicate python
/account/join/Nofollow Remove ads
/courses/interfaces-object-ori...IMG-ALT Implementing an Interface in Python
/courses/interfaces-object-ori...Python Interfaces: Object-Oriented Design Principles
/tutorials/advanced/advanced
/tutorials/python/Text duplicate python
/python-string-interpolation/IMG-ALT String Interpolation in Python: Exploring Available Tools
/python-string-interpolation/Text duplicate String Interpolation in Python: Exploring Available Tools
/tutorials/basics/Text duplicate basics
/tutorials/best-practices/Text duplicate best-practices
/tutorials/python/Text duplicate python
/crud-operations/IMG-ALT What Are CRUD Operations?
/crud-operations/Text duplicate What Are CRUD Operations?
/tutorials/intermediate/Text duplicate intermediate
/tutorials/api/Text duplicate api
/tutorials/databases/Text duplicate databases
/tutorials/web-dev/Text duplicate web-dev
/courses/efficient-iterations-...IMG-ALT Iterators and Iterables in Python: Run Efficient Iterations
/courses/efficient-iterations-...Efficient Iterations With Python Iterators and Iterables
/tutorials/intermediate/Text duplicate intermediate
/tutorials/python/Text duplicate python
/how-to-pandas-pivot-table/IMG-ALT How to Create a Pivot Table With pandas
/how-to-pandas-pivot-table/How to Create Pivot Tables With pandas
/tutorials/intermediate/Text duplicate intermediate
/tutorials/data-science/Text duplicate data-science
/tutorials/data-viz/Text duplicate data-viz
/python-calendar-module/IMG-ALT The Python calendar Module: Create Calendars With Python
/python-calendar-module/Text duplicate The Python calendar Module: Create Calendars With Python
/tutorials/intermediate/Text duplicate intermediate
/courses/building-gui-applicat...IMG-ALT Python GUI Programming With Tkinter
/courses/building-gui-applicat...Building a Python GUI Application With Tkinter
/tutorials/basics/Text duplicate basics
/tutorials/gui/Text duplicate gui
/python-data-types/IMG-ALT Basic Data Types in Python
/python-data-types/Basic Data Types in Python: A Quick Exploration
/tutorials/basics/Text duplicate basics
/tutorials/python/Text duplicate python
/pycon-guide/IMG-ALT How to Get the Most Out of PyCon
/pycon-guide/How to Get the Most Out of PyCon US
/tutorials/career/Text duplicate career
/tutorials/community/Text duplicate community
/python-built-in-exceptions/IMG-ALT Python's Built-In Exceptions: A Walkthrough With Examples
/python-built-in-exceptions/Python's Built-in Exceptions: A Walkthrough With Examples
/tutorials/intermediate/Text duplicate intermediate
/tutorials/python/Text duplicate python
/courses/html-css-foundations/IMG-ALT HTML and CSS for Python Developers
/courses/html-css-foundations/HTML and CSS Foundations for Python Developers
/tutorials/basics/Text duplicate basics
/tutorials/django/Text duplicate django
/tutorials/flask/Text duplicate flask
/tutorials/front-end/Text duplicate front-end
/tutorials/web-dev/Text duplicate web-dev
/python-pycache/IMG-ALT What Is the __pycache__ Folder in Python?
/python-pycache/Text duplicate What Is the __pycache__ Folder in Python?
/tutorials/intermediate/Text duplicate intermediate
/tutorials/python/Text duplicate python
https://realpython.com/searchText duplicate A-TITLE Search
/account/join/Nofollow Text duplicate Remove ads
/newsletter/Newsletter
/podcasts/rpp/Podcast
https://www.youtube.com/realpy...External Subdomain YouTube
https://twitter.com/realpythonExternal Twitter
https://facebook.com/LearnReal...External Facebook
https://www.instagram.com/real...External Subdomain Instagram
https://realpython.com/Python Tutorials
https://realpython.com/searchText duplicate Search
/privacy-policy/Privacy Policy
/energy-policy/Energy Policy
/sponsorships/Advertise
https://realpython.com/contact/Contact

Server configuration

HTTP redirects
(Critically important)
This page redirects to "https://realpython.com/"
HTTP header
(Important)
No X-Powered HTTP header is sent.
This page uses GZip for compressed data transmission.
Performance
(Somewhat important)
The page response time of 0.60 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.
The file size of the HTML document is fine (67 kB).

HTTP Response Header

NameValue
dateSat, 22 Jun 2024 04:25:59 GMT
content-typetext/html; charset=utf-8
content-length9747
report-to{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1719030359&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=KE53%2ByKLQcYE6gCLCIpdQ7l1U9ukvdsMeyKu5aQqn4Q%3D"}]}
reporting-endpointsheroku-nel=https://nel.heroku.com/reports?ts=1719030359&sid=67ff5de4-ad2b-4112-9289-cf96be89efed&s=KE53%2ByKLQcYE6gCLCIpdQ7l1U9ukvdsMeyKu5aQqn4Q%3D
nel{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
x-frame-optionsSAMEORIGIN
varyCookie, Accept-Encoding
strict-transport-securitymax-age=31536000; includeSubDomains; preload
x-content-type-optionsnosniff
referrer-policystrict-origin-when-cross-origin,origin
cross-origin-opener-policysame-origin
content-encodinggzip
set-cookie129 Characters
via1.1 vegur
cf-cache-statusDYNAMIC
servercloudflare
cf-ray89797a421b232bd9-FRA
alt-svch3=":443"; ma=86400
statuscode200
http_versionHTTP/2

External factors

Blacklists
(Nice to have)
This website is not classified "for adult only".
This page is referenced by wikipedia.
This website has excellent links from other websites.
This page has backlinks from 9,688 referring domains.
This page has 614,414 backlinks.
This page has backlinks from 6,118 different ip addresses.
Facebook popularity
(Somewhat important)
The page has 3958 shares and comments on Facebook.

Robots.txt

User-agent: *
Disallow: 
Disallow: /search
Disallow: *?q=*
Disallow: */api/v*
Disallow: /account/*/login/
Disallow: /feedback/*
Disallow: /practice/*
Disallow: /preview/*

Sitemap: https://realpython.com/sitemap.xml

Search preview

realpython.com
Python Tutorials – Real Python
Learn Python online: Python tutorials for developers of all skill levels, Python books and courses, Python news, code examples, articles, and more.

Most important keywords

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

KeywordResultRecheck
Python85%Check
Real81%Check
Real Python79%Check
Python Tutorials77%Check
Python Tutorials Real75%Check
Tutorials73%Check
Python News67%Check
Learn Python65%Check
Python Tricks60%Check
new58%Check

Test up to 1.000 webpages of realpython.com with our free plan!

Try For Free
No trial. It's just free!

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