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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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
  6. 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.
  7. 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.
  8. 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
  9. 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.
  10. 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.
  11. 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
  12. 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.
  13. 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
  14. SSL Certificate
  15. 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.
  16. 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.
  17. 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.
  18. 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
  19. 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.
  20. Language Tags (Hreflang)

Here is a list of standard recognized HTML tags that are supported by all modern browsers and understood by search engines:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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>.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.