Getting a Searchable A320 AMM Up on WordPress

Most maintenance teams I know who try to put an A320 AMM on WordPress run into the same wall about three weeks in. The PDFs are fine for a few days. Then the search breaks, the server chokes on the index, and you're back to hunting through 400-megabyte files on a shared drive. Here is how it actually works when you get it right. The core approach is straightforward. You take the AMM PDFs—usually split by task number or ATA chapter—and upload them to a WordPress installation. Then you layer a PDF indexing and search plugin on top so your line techs can type "BRAKE DISC WEAR" and actually find the right task instead of scrolling through chapter 32. The trick is not in the basic setup. It is in what happens after. I built one of these for an operator a while back. They had roughly 1,800 AMM PDFs across the full fleet. Standard WooCommerce PDF download addon would not cut it here because you need metadata tagging per task. I went with a combination of WP PDF Embedder for viewing and a custom post type setup where each AMM task got its own post with ATA chapter, aircraft tail number, and effective date as custom fields. Search was handled by SearchWP with the Live Search extension, and the PDF text was indexed through a cron job that ran pdfextract on each file overnight rather than trying to parse them in real time. Real-time parsing turned a 4-minute page load into a 47-minute one during indexing.

The effective date field is critical and almost nobody gets this right. The AMM gets revised constantly. If you do not track versioning, a tech pulling up a task today might be reading a superseded revision. I used a simple custom field pair: effective_date and superseded_by. When a new revision came in, I duplicated the post, updated the effective date, and set the old one to redirect to the new version. Had a situation once where an engine task was flagged on an old revision and the tech was actually reading instructions from a previous iteration that had since been corrected. Caught it during a routine audit. That custom field setup is not optional if you want this to be legitimate for actual maintenance work. Server requirements are the second thing people overlook. A properly indexed AMM library with full-text search needs real resources. Not "get the VPS plan" resources. I mean a dedicated server with at least 16 GB RAM and solid-state storage. The indexing process eats memory. With 1,800 large PDFs, the Elasticsearch index alone sat at around 8 GB. WordPress PHP processes during search queries can spike another 2 GB. I ran the site on a 32 GB machine and still needed to tune the PHP memory limit to 512M minimum. Anything less and the indexer would timeout on tasks with lots of exploded views and schematics embedded in the PDF. There is a specific problem with AMM PDFs that you will hit. Airbus PDFs are huge and they embed vector graphics at high resolution. When SearchWP or any PDF text indexer runs through these, it picks up not just the task text but also dimension callouts, tolerance tables, and part numbers scattered across exploded diagrams. The search returns results that are technically accurate but useless because the relevant context is buried under a thousand pages of engineering drawing annotations. The workaround I settled on was configuring the indexer to skip pages with below a certain text-to-graphics ratio. Pages that were mostly images got deprioritized in the index. It cut the index size by about 40 percent and made actual task text come to the top of results much faster. The tradeoff is that you lose the ability to search for part numbers that only appear in illustrations. Most techs do not need that. The ones who do usually already have the illustrated parts catalog as a separate searchable file.

Access control is another area where people make bad choices. You can use member-only plugins and password protect everything, but that creates a friction problem. Line technicians on a tight turn aren't going to log in every time they need a task. I configured role-based access where authenticated users got full search, and non-authenticated users could browse by ATA chapter but not search. This covered the cases where someone needed to reference a procedure without logging in and kept the heavier content gated behind the team credentials. The login integration itself was handled through SAML with the company's existing identity provider. One warning there: the SAML plugin I used had a known issue with WordPress's REST API that broke the search autocomplete. Fixed it by adding a filter to exclude the REST endpoint from the SAML redirect chain. Took me about three hours to track down that one. PDF conversion is a common recommendation you'll see floating around. Convert the AMM PDFs to HTML and index those instead. This does improve search accuracy significantly because you are indexing clean text rather than trying to extract it from compressed PDF streams. I tested this approach with one ATA chapter as a proof of concept. The conversion pipeline took about six hours for roughly 200 pages. The search quality was noticeably better. But converting the full 1,800-file AMM set was a non-starter. The automated conversion broke on any PDF that contained complex tables or multi-column layouts, which is most of the procedural steps. I ended up running the conversion manually on high-priority chapters only—around 300 files total—and leaving the rest as indexed PDFs. This hybrid approach reduced the server load enough to keep things stable while giving the most-used tasks genuinely good search quality. Mobile access matters more than most teams expect. Line techs pull this up on phones and tablets between tasks. WordPress themes are not always mobile-friendly with large PDF viewers. I switched to a responsive PDF viewer plugin that handled pinch-to-zoom properly on touch screens. The standard embeddeds used a flash-era interface that forced horizontal scrolling on mobile. This was genuinely slowing down task lookup during ramp checks. Once the mobile view was fixed, average task find time dropped from about 90 seconds to 35 seconds based on the internal logs.

Get the Full Details

9H-AMM | Airbus A320-232 | Avion Express Malta | Andre M. | JetPhotos
9H-AMM | Airbus A320-232 | Avion Express Malta | Andre M. | JetPhotos

Backup and disaster recovery for this setup is non-trivial. Your WordPress database, your media library of PDFs, and your search index all need to be backed up on different schedules. The database every night. The PDFs on a weekly differential with daily incremental. The search index is the problem child because you cannot simply restore it from a backup and expect it to stay consistent. If the underlying PDFs change, the index becomes stale. I set up a webhook that triggered a full index rebuild whenever the source PDF repository was updated. This kept the index within about an hour of the actual data, which is acceptable for operational purposes. The rebuild itself took roughly 45 minutes on the configured hardware. This meant any AMM revision pushed to the server would be searchable within an hour, not immediately but close enough that a tech wouldn't accidentally run outdated procedures. Legal and compliance considerations are worth mentioning briefly. The A320 AMM is owned by Airbus and licensed to operators. Hosting it on a WordPress instance means it is sitting on a web server with a CMS backend. That introduces attack surface. I hardened the installation by disabling XML-RPC, limiting login attempts, restricting the XML sitemap to authenticated users only, and running it behind a CDN with basic DDoS protection. The WAF alone added about 20 milliseconds of latency to every request, which was negligible. But the XML sitemap exposure caught my attention during a security scan. Unauthenticated users could enumerate every task in the AMM by walking the sitemap. Once that was restricted to authenticated users, the attack surface shrank considerably. Training is the final piece and the one that usually gets skipped. A WordPress search interface behaves differently than a physical manual or even a well-organized PDF library. Techs are used to flipping to a chapter and then drilling down. Web search inverts that workflow. They tend to over-search with overly specific terms and then miss the broader procedure. I ran a half-day workshop covering basic search syntax, how the ATA structure mapped to the interface, and the effective date system. After that, the usage logs showed a sharp drop in abandoned searches and a corresponding increase in task completion time. People just needed to understand the tool before it became useful.

The whole setup, from empty WordPress install to fully operational searchable AMM library, took about three weeks for a fleet of this size. Not fast, not slow. The individual components are all well-documented. The difficulty is in making them work together without each piece introducing a new failure mode. That is the part the tutorials don't cover.