The Moz Q&A Forum

    • Forum
    • Questions
    • My Q&A
    • Users
    • Ask the Community

    Welcome to the Q&A Forum

    Browse the forum for helpful insights and fresh discussions about all things SEO.

    1. SEO and Digital Marketing Q&A Forum
    2. Categories
    3. Technical SEO Issues
    4. How do I Address Low Quality/Duplicate Content Issue for a Job portal?

    How do I Address Low Quality/Duplicate Content Issue for a Job portal?

    Technical SEO Issues
    4 2 1.2k
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as question
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • jombay
      jombay last edited by

      Hi,

      I want to optimize my job portal for maximum search traffic.

      Problems

      • Duplicate content- The portal takes jobs from other portals/blogs and posts on our site. Sometimes employers provide the same job posting to multiple portals and we are not allowed to change it resulting in duplicate content
      • Empty Content Pages- We have a lot of pages which can be reached via filtering for multiple options. Like IT jobs in New York. If there are no IT jobs posted in New York, then it's a blank page with little or no content
      • Repeated Content- When we have job postings, we have about the company information on each job listing page. If a company has 1000 jobs listed with us, that means 1000 pages have the exact same about the company wording

      Solutions Implemented

      • Rel=prev and next. We have implemented this for pagination. We also have self referencing canonical tags on each page. Even if they are filtered with additional parameters, our system strips of the parameters and shows the correct URL all the time for both rel=prev and next as well as self canonical tags
      • For duplicate content- Due to the volume of the job listings that come each day, it's impossible to create unique content for each. We try to make the initial paragraph (at least 130 characters) unique. However, we use a template system for each jobs. So a similar pattern can be detected after even 10 or 15 jobs. Sometimes we also take the wordy job descriptions and convert them into bullet points. If bullet points already available, we take only a few bullet points and try to re-shuffle them at times

      Can anyone provide me additional pointers to improve my site in terms of on-page SEO/technical SEO?

      Any help would be much appreciated.

      We are also thinking of no-indexing or deleting old jobs once they cross X number of days. Do you think this would be a smart strategy? Should I No-index empty listing pages as well?

      Thank you.

      1 Reply Last reply Reply Quote 3
      • LukeHardiman
        LukeHardiman last edited by

        Hi, I've tried to address your issues point by point according to your post...

        Duplicate Job Posting Content

        You can try to offset this by having a couple hundred words of unique copy per listing page url exposed to Google. So, if your page lists all jobs in the catering industry in New Jersey for instance, write some copy on the topic, and try to make it readable and useful to the user as well. Add microdata to the template using schema.org, so that Google can understand what's there at the data level - there will likely be entities available there to describe your content in terms of location, the companies that are hiring, etc.

        I'm inclined to say don't bother with reshuffling duplicate content and adding bullet points to it - Google is smart enough to recognise that this copy is the same, and will not give you any points - perhaps the opposite - for trying to disguise this.

        Filtering & Blank Results Pages

        Could this not be done with javascript / ajax, so that Google never finds an empty listing?

        'About the Company' Duplicate Content

        You could load this content from an ajax template, either as the page loads, or in response to a user action (eg. click on a button 'show company details'). I have solved this exact problem like this in the past - loading a tour category description that appears on a great many tour detail pages.

        Perhaps you can do as I'm suggesting above for the job description duplication - where possible, and as long as it's done in a way that does not come across as cloaking. It's good that you have a unique paragaph above the duplicate description.Try not to load up the duplicate description by default. I'm not sure on your source order or site / template structure so difficult to get too detailed here and I don't want to risk suggesting something that could be interpreted as a violation of Google's guidelines.

        Pagination

        You will want to, where possible, specify a view-all page for Google - this is suggested by them as a best practice, and in my experience, Googlebot loves to find chunky listing content, PROVIDED that it loads quickly enough not to hamper the user experience.

        You can make sure of this by lazyloading images and other media. Be sure to specify the correct image src attributes (not spacer.gif for instance) inside of noscript tags to make sure that image content is still indexed.

        You could also load up the markup for all items in the listing, and then use javascript to chunk the content into 'pages', or load it asynchronously where javascript is available. If no javascript, then load all content. By using javascript pagination, you basically avert the need for a separate view all page, meaning only have one template to maintain and optimise.

        jombay 1 Reply Last reply Reply Quote 0
        • jombay
          jombay @LukeHardiman last edited by

          Luke,

          Thank you for your detailed reply.

          I forgot to mention that for each of our important filter pages (like IT jobs in New York) we do have a unique paragraph text which is human readable and at the same time SEO optimized (They are around 200 words long and is not there for all filter pages due to the volume of such pages.) This unique block of text rests at the bottom of the page, just above the footer, after all the latest 20 job listings are shown.

          "Filtering & Blank Results Pages Could this not be done with javascript / ajax, so that Google never finds an empty listing?"

          I am afraid this cannot be done due to the structure of our system. No-Indexing them would be much more easier. Wouldn't it do?

          "You could load this content from an ajax template, either as the page loads, or in response to a user action (eg. click on a button 'show company details')."

          Sounds like a good idea. Are you sure Google will not consider this as cloaking and that Google cannot read Ajax content?

          "Try not to load up the duplicate description by default."- Do you mean we should implement Ajax again for this part?

          "You will want to, where possible, specify a view-all page for Google"- not sure if this will be possible from our side due to engineering limitations. I thought rel=next and prev would solve the issue. However, I still see intermediate pages indexed.

          LukeHardiman 1 Reply Last reply Reply Quote 0
          • LukeHardiman
            LukeHardiman @jombay last edited by

            Unique Listing Copy

            I would try to get that unique content to the top of the source order - it doesn't necessarily have to appear at the top of the page - it could be in a sidebar for instance, but it should be first in the source so that Googlebot gobbles it up before it reaches duplicate stuff or secondary nav / footer links etc.

            No Results pages

            Yes, you could certainly noindex your no-results pages with a robots meta tag - that would be a good idea.

            Loading duplicate content with ajax

            In terms of Google and ajax content, yes Googlebot can and does follow links it finds in javascript.

            All I can tell you here is my own experience 😉 On my product detail template, I have loaded up category descriptions with ajax that appear canonically (if that's the right way of putting it) on my listing pages. In the SERPs, the cat description content is indexed for the pages I want it to be indexed for (the listings in this case), and not for the product detail pages where I'm loading with ajax. And these product detail pages still perform well and get good organic landing traffic.

            On the product detail page where I'm loading with ajax, I have the copy in an accordion, and it's loaded with an ajax request on document ready. It might be considered slightly more cochre to do this in response to a user action though - such as clicking on the accordion in my case. The theory being that you're making your site responsive to a user's needs, rather than loading up half the content one way and the other half another way, if you get what I mean.

            Sometimes of course you just cannot avoid certain amounts of content duplication within your site.

            1 Reply Last reply Reply Quote 0
            • 1 / 1
            • First post
              Last post
            • I have duplicate content but // are causing them
              ThompsonPaul
              ThompsonPaul
              0
              7
              62

            • When is Duplicate Content Duplicate Content
              AMHC
              AMHC
              0
              6
              169

            • Duplicate Content Issues
              dimanyc
              dimanyc
              0
              3
              96

            • Duplicate Content Issue
              NakulGoyal
              NakulGoyal
              0
              4
              81

            • Duplicate Content Issue: Google/Moz Crawler recognize Chinese?
              Nick_Sayers
              Nick_Sayers
              0
              2
              431

            • Duplicate Content Issue with
              josh-riley
              josh-riley
              0
              5
              353

            • Duplicate content issue
              Ideas-Money-Art
              Ideas-Money-Art
              0
              7
              631

            • Duplicate Content Issue
              gfiorelli1
              gfiorelli1
              0
              2
              491

            Get started with Moz Pro!

            Unlock the power of advanced SEO tools and data-driven insights.

            Start my free trial
            Products
            • Moz Pro
            • Moz Local
            • Moz API
            • Moz Data
            • STAT
            • Product Updates
            Moz Solutions
            • SMB Solutions
            • Agency Solutions
            • Enterprise Solutions
            • Digital Marketers
            Free SEO Tools
            • Domain Authority Checker
            • Link Explorer
            • Keyword Explorer
            • Competitive Research
            • Brand Authority Checker
            • Local Citation Checker
            • MozBar Extension
            • MozCast
            Resources
            • Blog
            • SEO Learning Center
            • Help Hub
            • Beginner's Guide to SEO
            • How-to Guides
            • Moz Academy
            • API Docs
            About Moz
            • About
            • Team
            • Careers
            • Contact
            Why Moz
            • Case Studies
            • Testimonials
            Get Involved
            • Become an Affiliate
            • MozCon
            • Webinars
            • Practical Marketer Series
            • MozPod
            Connect with us

            Contact the Help team

            Join our newsletter
            Moz logo
            © 2021 - 2026 SEOMoz, Inc., a Ziff Davis company. All rights reserved. Moz is a registered trademark of SEOMoz, Inc.
            • Accessibility
            • Terms of Use
            • Privacy