This journal came to us after a recent OJS update left the site in bad shape. Editors were getting error 500 pages and blank screens when they tried to do basic tasks like editing submissions, updating author names, or saving keywords. Some pages worked, others didn't, with no clear pattern.

Fixing a Broken OJS Installation for a Law Journal
The Problem
What We Found
After reviewing the server, we traced the problem to the hosting environment, not the OJS installation itself. The host had OPcache enabled, which was causing PHP to serve outdated cached code and triggering random errors across the site. This is a common issue on shared hosting plans that were never configured with OJS in mind.
To confirm the diagnosis, we mirrored the entire site on our own testing server. It ran without a single error, which proved the OJS code and database were fine. The hosting environment was the actual problem.
What We Did
- Diagnosed and resolved the OPcache conflict causing random 400 and 404 errors
- Fixed a metadata bug that broke the page when editing author names
- Restored a broken keyword field for non English language content
- Repaired the DialNet citation widget, which had stopped displaying journal metrics
- Corrected the current issue display, which was showing an unpublished issue instead of the latest one
- Updated the header logo link to point to the journal's parent organization
- Confirmed submission and review workflows worked end to end before handoff
The Result
The journal was back to full working order within 48 hours, without any data loss or downtime for their editorial team. We also gave the client a clear hosting recommendation, a cPanel plan with Softaculous support for OJS, so future updates would not run into the same problem. The client was glad to see the site recover so quickly and reported a smooth experience working with us on the fix.
Why This Matters for Your Journal
A lot of OJS problems that look like software bugs are actually hosting problems. Before we touch a single setting inside OJS, we check whether the server itself is set up correctly. That is often the fastest way to find the real cause, and it saves you from paying for a fix that will not last.
If your journal is throwing errors, missing data, or acting unpredictable after an update, we can find out why.
Client feedback (Tuclab, Italy): All done! Thank you!

