Scholar Forensics

Open Journal Systems  ·  Google Scholar  ·  articles missing, partial, or never indexed

Why an OJS journal is not indexed in Google Scholar.

Open Journal Systems can produce everything Google Scholar needs — but only when the indexing plugin is on, the citation tags are correct, and the PDF is reachable as a plain file. When any one of these fails, articles are silently absent. These are the six places the failure is usually found, with the check for each.

Checks cover: indexing plugincitation_* tagsPDF galleyaccessURL formsrobots.txt
Definition

An OJS journal is not indexed in Google Scholar when Scholar's crawler cannot read a complete set of citation_* meta tags on each article's landing page and fetch the matching full-text PDF as a direct file — regardless of how the journal looks in a browser or in Google web search.

In Open Journal Systems 3.x those tags are produced by the Google Scholar Indexing plugin, the PDF is served by the galley download route, and both must sit on one stable URL per article. There is no listing to apply for: Scholar crawls what the site exposes, so every failure is diagnosable from the site itself — the page source, the PDF response, and the redirects.

Why OJS journals go missing from Scholar

OJS is built for Scholar — which is why editors assume indexing is automatic. It is not.

The platform supplies the right pieces: Highwire Press citation_* tags, a galley download route, stable article URLs. Each one is a setting or a server configuration that can be off, misconfigured, or broken by a migration with no visible change to the site. Scholar does not report what it rejected; the only signal is articles that never appear or quietly disappear. The diagnosis therefore starts from the page source and the PDF response, not from the journal's dashboard.

Six places the failure is found  ·  symptom, check, meaning

  1. Google Scholar Indexing plugin not enabled

    Symptom: article pages carry Dublin Core or Open Graph tags but no citation_* tags. In OJS 3.x the Highwire Press tags Scholar reads are emitted only by the Google Scholar Indexing plugin (Settings → Website → Plugins → Generic Plugins). It is enabled per journal, so one journal in a multi-journal install can have it on while another does not. Check: view the source of an article landing page and search for <meta name="citation_title". If it is absent, Scholar has nothing to read, and the journal is not indexable until the plugin is on.

  2. Tags present but wrong or incomplete

    Symptom: citation_title exists but does not match the title visible on the page or in the PDF; citation_pdf_url, citation_publication_date, or citation_journal_title is missing; authors are collapsed into one citation_author tag or split at the wrong point. Scholar matches the tags against the full text and does not index entries that disagree. Check: compare every tag on one article against the list in Scholar's Inclusion Guidelines for Webmasters, then against the first page of the PDF. Typical sources of a mismatch: metadata edited in the submission record after the galley was produced, or a theme that overrides the plugin's output.

  3. PDF galley Scholar cannot read

    Symptom: tags are complete, the PDF opens in a browser, and the article still does not appear. Two distinct causes. First, citation_pdf_url points at the OJS viewer page (/article/view/ID/GALLEY, which wraps the file in pdf.js) instead of the direct file route (/article/download/ID/GALLEY); Scholar needs the file, not the viewer. Second, the PDF is a scanned image with no text layer, so there is no full text to match against the tags. Check: open the citation_pdf_url value directly — it must return Content-Type: application/pdf, and the text in the file must be selectable.

  4. Full text behind a gate

    Symptom: the PDF downloads for logged-in staff, but the article is absent from Scholar. Scholar's crawler is an anonymous client: a login requirement, a cookie or consent wall that intercepts the first request, a country block at the hosting or CDN level, or a subscription setting on the issue or galley each return something other than the PDF to it. A journal that intends open access but gates the file by accident loses full-text indexing, and if the landing page itself is gated, the entry. Check: fetch the citation_pdf_url from a clean session — private window, no cookies, preferably another network, or curl -I — and confirm the response is the PDF, not a redirect to a login or an HTML interstitial.

  5. Two URL forms for one article

    Symptom: Scholar shows some articles under one URL pattern and others under a second, or coverage dropped after a hosting change. OJS can expose the same article at several addresses: with and without index.php (the restful_urls setting in config.inc.php), over http and https, and under an old journal path after a migration or rename. Each form is a duplicate; Scholar groups what it can and loses the crawl history of what it cannot. Check: every article page carries one rel="canonical" pointing at the form you want indexed, and every retired form returns a 301 to it — not a 200, not a 302, not a soft 404.

  6. robots.txt and server-level blocks

    Symptom: nothing above is wrong, and Scholar still never fetches the PDF. Hosting panels, security plugins, and CDN rules can write robots.txt or firewall rules that disallow /article/download/, block all bots except a short allow-list, or rate-limit crawlers until they give up. Rules added to keep AI scrapers out catch Scholar's crawler as collateral when they match on a class of user agents rather than a named bot. Check: read /robots.txt for any Disallow touching article or download paths, then request the PDF with a non-browser user agent and confirm a 200 with application/pdf, not a 403 or a challenge page.

Questions OJS editors ask

Does OJS index in Google Scholar automatically?
No. Open Journal Systems supplies the pieces Google Scholar reads — citation meta tags through the Google Scholar Indexing plugin, a PDF download route, and stable article URLs — but a journal is indexed only when its site meets Scholar's Inclusion Guidelines for Webmasters and Scholar's crawler can actually reach the article pages and the PDF files. Scholar has no application or listing form for journals; its support pages offer a troubleshooter and an inclusion request for sites that meet the guidelines but are not yet crawled. Installing OJS is the start of the work, not the end of it.
How long after fixing does Scholar re-index?
Weeks to months. Google Scholar re-crawls scholarly sites on a slower cycle than general web search and publishes no schedule, so a fix made today is reflected gradually rather than at a single moment. The reliable way to judge recovery is a dated baseline: record which articles are present in Scholar on the day the fix is deployed — by searching their exact titles — and repeat the same check at intervals. A single later search cannot distinguish a slow re-crawl from a fix that did not work.
Our articles show in Google web search but not in Google Scholar — why?
Because the two systems are different crawlers with different requirements. Google web search indexes any page it can fetch and render, so an OJS article page with a title and body text can rank there. Google Scholar indexes only pages that present complete citation meta tags and a matching, reachable full text; an article page that lacks those tags, points citation_pdf_url at a viewer instead of the file, or gates the PDF will appear in web search and be absent from Scholar. Visibility in web search is no evidence that the Scholar requirements are met.
Does migrating OJS versions or hosts break Scholar indexing?
It can, and it does whenever article URLs or paths change without permanent redirects, or when plugin settings do not carry over. A version upgrade can leave the Google Scholar Indexing plugin disabled or a theme overriding its output; a host move can change the base URL, toggle restful_urls, or switch http to https, so each article now lives at a new address while Scholar still holds the old one. The migration itself is not the problem; losing one-article-one-URL continuity is. Every old article URL must return a 301 to its new address, and the citation tags on the new pages must match the ones Scholar indexed.
Is this different from DOAJ or Scopus indexing?
Yes. Google Scholar is an automatic crawl: there is no application and no editorial review, and inclusion depends on technical compliance that the journal's site must demonstrate. DOAJ and Scopus are curated databases: a journal applies, the application is reviewed against published editorial and publishing criteria, and the journal is listed or declined. An OJS journal can be in DOAJ and missing from Scholar, or the reverse, because the two decisions are made by different mechanisms on different evidence. This page covers only the Scholar side.

Measured against

Every check above is read against the sources that govern Scholar indexing — not opinion.

Articles missing from Scholar

Send the journal URL and one article that should be indexed.

The six checks are run against your actual article pages and PDF response, and the finding is written up — evidence, not a guess.

Request an OJS indexation check Paid diagnostic · written findings · DOI-safe fixes