Your username here MUST MATCH your XenForo username (connected to your XF license).

    Once you have registered here, then you need to start a conversation at xenforo.com w/Bob and provide the following:
    1. Your XenForo License Validation Token
    2. The Domain Name associated with the License
    NOTE: Your account will be validated once ALL requirements are verified/met. Thank you for your patience.

SEO Improvements

Discussion in 'AMS Support' started by Bram, Aug 3, 2021.

  1. Bram

    Bram New Member AMS Premium IMS Premium LD Premium RMS Premium

    Absolutely adore AMS so far. Not sure if this should be feedback or a suggestion. Please move the thread around if needed please :)

    After installing AMS a few months ago we saw a quick indexation into Google Search because of our frontpage being high traffic.

    As a niche leader in simracing our site needs to rank high on google search results on relevant keywords but here the SEO of AMS seems not be able to match the (much smaller) wordpress sites out there who all rank much higher in google.

    Is there anything we can do to improve our SEO?
  2. Bob

    Bob Developer Staff Member

    Are ALL your articles setting a "good" Meta description? This one alone can make a huge difference if used properly. I couldn't tell you how many XF sites I've looked at that don't set a meta description or description of their article content and just rely on a snippet of their Article, in which the first 250 characters of the article don't include anything remotely beneficial that a good meta description or even a good description would include.


    I have small AMS sites that out rank large Word Press sites, so its not that any Word Press site is going to magically out rank any other site that isn't using Word Press. Couldn't tell you how many XF sites have moved from WP to AMS and are experiencing much better ranking.

    Are you using the XFAMP addon? I know a lot of XF sites are benefiting from that addon.

    Beyond that, Titles, Description, Content etc is 99% of the equation, the rest is just standard things like using industry standard metadata as well as appeasing to the google gods by submitting micro data via ldJsonHtml (which is googles preferred method of delivery).

    <xf:if is="$article.meta_description">
        <xf:set var="$descSnippet" value="{{ snippet($article.meta_description, 250, {'stripBbCode': true}) }}" />
    <xf:elseif is="$article.description" />
        <xf:set var="$descSnippet" value="{{ snippet($article.description, 250, {'stripBbCode': true}) }}" />
    <xf:else />
        <xf:set var="$descSnippet" value="{{ snippet($article.message, 250, {'stripBbCode': true}) }}" />
    <xf:macro template="metadata_macros" name="metadata"
        arg-shareUrl="{{ link('canonical:ams', $article) }}"
        arg-canonicalUrl="{{ link('canonical:ams', $article, {'page': $page > 1 ? $page : null}) }}"
        arg-imageUrl="{{ $article.CoverImage ? link('canonical:ams/cover-image', $article) : ($article.Category.content_image ? base_url('styles/default/xenaddons/ams/category_images/' . {$article.Category.content_image}, true) : '') }}"
        arg-twitterCard="summary_large_image" />
    <xf:page option="ldJsonHtml">
        <script type="application/ld+json">
            "@context": "https://schema.org",
            "@type": "CreativeWorkSeries",
            "@id": "{{ link('canonical:ams', $article)|escape('json') }}",
            "name": "{$article.title|escape('json')}",
            "headline": "{$article.title|escape('json')}",
            "alternativeHeadline": "{$article.title|escape('json')}",
            "description": "{$descSnippet|escape('json')}",
            <xf:if is="$article.cover_image_id">
                "thumbnailUrl": "{{ ams_article_thumbnail($article)|escape('json') }}",
            <xf:elseif is="$article.Category.content_image" />
                "thumbnailUrl": "{{ ams_category_icon($article)|escape('json') }}",
            "dateCreated": "{{ date($article.publish_date, 'c')|escape('json') }}",
            "dateModified": "{{ date($article.last_update, 'c')|escape('json') }}",
            <xf:if is="$article.rating_count">"aggregateRating": {
                "@type": "AggregateRating",
                "ratingCount": "{$article.rating_count|escape('json')}",
                "ratingValue": "{$article.rating_avg|escape('json')}"
            <xf:if is="$article.hasViewableDiscussion()">
                "discussionUrl": "{{ link('canonical:threads', $article.Discussion)|escape('json') }}",
            <xf:if is="$article.User.Profile.xa_ams_author_name">
                "author": {
                    "@type": "Person",
                    "name": "{$article.User.Profile.xa_ams_author_name|escape('json')}"
            <xf:else />
                "author": {
                    "@type": "Person",
                    "name": "{{ ($article.User ? $article.User.username : $article.username)|escape('json') }}"
  3. Bram

    Bram New Member AMS Premium IMS Premium LD Premium RMS Premium

    Good shouts, thanks.

    Yeah we are doing our best with the meta descriptions but i fear i am too much of an idiot and need something like a YOAST plugin we always used with WP back in the days. Is there even an online alternative we can use?

    XFamp is new to me and google isn't helping me to find it :D

    submitting micro data via ldJsonHtml (which is googles preferred method of delivery). << also new to me sorry :)
  4. Bob

    Bob Developer Staff Member

    Not that I am aware of. Probably wouldn't be that hard for a professional developer to develop an XF Yoast addon. Might even want to approach the developer that made the AMPXF addon.

    my bad, its AMPXF, not XFAMP lol

    AMPXF - AMP for Xenforo 2
    Bram likes this.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.