Technical SEO
On-site SEO (also known as on-page SEO) refers to the practices and optimizations you can implement directly on your website to improve its search engine rankings. Here are the key on-site SEO factors you should check for:
-
Title Tags
- Ensure each page has a unique, descriptive title tag. City PM | Business Name
- Include primary keywords naturally within the title.
- Keep titles within 50-60 characters to avoid truncation in search results.
-
Meta Descriptions
- Write unique meta descriptions for each page. Can have keyword or variations. Shorter is better or the end is cut off.
- Include relevant keywords and a compelling call-to-action.
- Keep meta descriptions within 150-160 characters.
-
URL Structure
- Descriptive URLs with keywords.
- Avoid using numbers, special characters, or unnecessary words. Hyphens are fine for internal pages try to avoid in the main domain
- Implement a consistent URL structure across the site.
-
Header Tags (H1, H2, H3, etc.)
- Use H1 tags for the main title of a page. City PM on home and potentially City property manager on primary services page (studying if its causing keyword cannibalization) all ancillary markets will be keyword PM
- H2 - keyword variation that is relevant for user experience
- H3-H6 tags for subheadings. We usually stop at H4
- Ensure your headings are structured logically and include relevant keywords.
-
Content Quality
- Ensure your content is original, informative, and valuable to your audience.
- Include primary and related keywords naturally throughout the content.
- Use internal linking to related content to keep users engaged.
- Blogs at 1000 words main pages should be much longer 2k plus
-
Keyword Optimization
- Check what content and keywords the site is missing
- Use primary keywords in the first 100 words of the content.
- Avoid keyword stuffing; focus on readability and user experience.
-
Image Optimization
- Use descriptive filenames and alt text for all images. Variations for alternate images are recommended
- Compress images to reduce load times without sacrificing quality. Team has a new file format for faster loading will be redoing all live market leaders with the new upgrades.
- Include relevant keywords in the alt text where appropriate.
-
Internal Linking
- Use internal links to connect relevant pages within your site.
- Ensure all internal links use descriptive anchor text.
- Avoid too many links in a single page to prevent overwhelming users.
- Link blogs back to main pages and link blogs to other relevant posts. Increases engagement
-
Mobile-Friendliness
- Ensure your website is responsive and works well on all devices.
- Check for mobile usability issues using tools like Google’s Mobile-Friendly Test.
-
Page Load Speed
- Optimize images, scripts, and CSS to reduce load times.
- Use tools like Google PageSpeed Insights to identify and fix speed issues. Google lighthouse plugin works great but there is also google lighthouse integration in the reporting dashboard
- lazy loading for images and other resources should already be completed.
-
User Experience (UX)
- Ensure your site has a clean, intuitive design that’s easy to navigate.
- Minimize pop-ups and intrusive ads that could negatively impact user experience.
- Focus on improving engagement metrics like bounce rate and time on page.
- Easy one click to almost every page of the site
- Form top right for conversions
- Watch for big areas of blank page user may not scroll past. Keep them moving through content.
- Calls to action throughout content to promote conversions
-
Structured Data (Schema Markup)
-
Implement schema markup to help search engines understand your content.
- Standard site
- Local business
- Properties
- Faqs
- Blogs
- Reviews
- Authors
- Test your structured data using Google’s Rich Results Test.
-
Implement schema markup to help search engines understand your content.
-
Canonical Tags
- Use canonical tags to prevent duplicate content issues.
-
Ensure the canonical tag points to the preferred version of the URL.
- If google has an alternate page canonical means we are getting hit for duplicate content
- SSL Certificate
-
Sitemap & Robots.txt
- Submit an XML sitemap to search engines to help them index your pages.
- Ensure your robots.txt file is correctly configured to allow search engines to crawl your site.
-
Social Sharing Buttons
- Include social sharing buttons to encourage content sharing.
- Ensure these buttons are prominently displayed without disrupting the user experience or links to the socials as most don't share others content except on blogs.
-
Breadcrumb Navigation
- Implement breadcrumb navigation to improve site structure and user navigation. Would love to have this but we don't have it.
- Ensure breadcrumbs are correctly marked up for SEO.
-
Content Freshness
- Regularly update content to keep it relevant and up-to-date. This can be market updates on the area info sections but services don’t change that often to change that content. It would just be additional optimizations.
- Add new content periodically to keep the site active. Blog content
-
404 Pages - havent done this yet but want to check if we can
- Create custom 404 error pages to guide users back to relevant content.
- Ensure 404 pages are helpful and provide a good user experience.
- Language Tags (Hreflang)
Here is a list of standard recognized HTML tags that are supported by all modern browsers and understood by search engines:
-
Basic Document Structure
- <html>: The root element of an HTML document.
- <head>: Contains meta-information about the document.
- <title>: Specifies the title of the document, shown in the browser's title bar or tab.
- <body>: Contains the content of the HTML document.
-
Metadata Tags
- <meta>: Provides metadata about the document (e.g., charset, viewport, description).
- <link>: Defines a relationship between the document and an external resource (e.g., stylesheets).
- <style>: Embeds CSS styles within the HTML document.
- <script>: Embeds or references JavaScript code.
-
Text Content
- <h1>City PM
- <h2>PM keyword variant
- <h4> to <h6> for section titles and better user content structure
- <p>: Defines a paragraph.
- <br>: Inserts a line break.
- <hr>: Inserts a horizontal rule or thematic break.
- <a>: Defines a hyperlink.
- <strong>: Indicates strong importance, typically rendered as bold text.
- <em>: Indicates emphasis, typically rendered as italic text.
- <b>: Represents bold text without additional importance.
- <i>: Represents italic text without additional emphasis.
- <u>: Represents underlined text.
- <mark>: Highlights text.
- <sub>: Defines subscript text.
- <sup>: Defines superscript text.
-
Grouping Content
- <div>: Defines a division or section in an HTML document.
- <span>: Defines an inline section of text.
- <blockquote>: Defines a block of quoted text.
- <pre>: Represents preformatted text.
- <ul>: Defines an unordered list.
- <ol>: Defines an ordered list.
- <li>: Defines a list item.
- <dl>: Defines a description list.
- <dt>: Defines a term in a description list.
- <dd>: Defines a description of a term in a description list.
-
Tables
- <table>: Defines a table.
- <thead>: Groups the header content in a table.
- <tbody>: Groups the body content in a table.
- <tfoot>: Groups the footer content in a table.
- <tr>: Defines a table row.
- <th>: Defines a table header cell.
- <td>: Defines a table data cell.
- <caption>: Provides a caption for the table.
- <col>: Specifies column properties for each column within a <colgroup>.
- <colgroup>: Specifies a group of one or more columns in a table for formatting.
-
Forms
- <form>: Defines an HTML form for user input.
- <input>: Defines an input control.
- <textarea>: Defines a multiline text input control.
- <button>: Defines a clickable button.
- <select>: Defines a drop-down list.
- <option>: Defines an option in a drop-down list.
- <label>: Defines a label for an <input> element.
- <fieldset>: Groups related elements in a form.
- <legend>: Provides a caption for the <fieldset>.
-
Media Elements
- <img>: Embeds an image.
- <audio>: Embeds sound content.
- <video>: Embeds video content.
- <source>: Specifies multiple media resources for <video> and <audio>.
- <track>: Specifies text tracks for <video> and <audio> (e.g., subtitles).
- <figure>: Specifies self-contained content, often with a caption.
- <figcaption>: Provides a caption for a <figure> element.
-
Embedded Content
- <iframe>: Embeds another HTML page within the current page.
- <embed>: Embeds external content (like a plugin).
- <object>: Embeds an external resource, such as an image, video, or plugin.
- <param>: Defines parameters for plugins embedded with <object>.
- <canvas>: Provides an area for drawing graphics via JavaScript.
- <svg>: Embeds Scalable Vector Graphics.
-
Semantic HTML5 Tags
- <header>: Represents introductory content, typically a group of introductory or navigational aids.
- <nav>: Represents a section of navigation links.
- <section>: Represents a standalone section of content.
- <article>: Represents independent, self-contained content.
- <aside>: Represents content related to the main content but not essential to its understanding.
- <footer>: Represents the footer of a section or document.
- <main>: Represents the main content of the document.
- <figure>: Represents self-contained content, like illustrations or diagrams.
- <figcaption>: Provides a caption for a <figuregt; element.
- <time>: Represents a specific time or date.
- <details>: Represents additional details the user can view or hide.
- <summary>: Defines a visible heading for a <detailsgt; element.
- <dialog>: Defines a dialog box or window.
-
Interactive Elements
- <details>: Creates a disclosure widget that users can open or close.
- <summary>: Creates a summary or label for a <detailsgt; element.
- <menu>: Represents a list or menu of commands.
-
Scripting
- <noscript>: Defines alternative content for users who have disabled scripts in their browser or have a browser that doesn’t support scripting.
- <template>: Holds client-side content that won’t be rendered when the page loads but can be instantiated later.
-
Deprecated and Obsolete Tags (for historical knowledge)
- <center>: Centers text (use CSS instead).
- <font>: Specifies font size, color, and face (use CSS instead).
- <marquee>: Creates scrolling text (not supported in HTML5).
- <acronym>: Represents an acronym (use <abbr> instead).
- <big>: Displays text in a larger size (use CSS instead).
- <strike>: Represents strikethrough text (use <del> or <s> instead).
This list covers the essential HTML tags that are widely recognized and used across modern web development. While some tags like <b>, <i>, and <u> are still supported, it’s generally recommended to use semantic tags like <strong>, <em>, and <span> with CSS for better accessibility and search engine optimization.