GEOSEOWeb developmentContent

GEO and structured data for an Indian B2B news platform

mediabrief.com

In brief

MediaBrief is an Indian B2B news platform covering media, advertising, marketing and business, with an archive of more than 71,000 articles and four podcast series. The goal was to be recognised and cited as a source of knowledge, by professionals and by AI systems such as ChatGPT, Perplexity and Google AI Overviews. I turned the publisher into one clear identity in the structured data, built three pages on its editorial standards and replaced an auto-generated llms.txt with a hand-written one. That work has been live since late July 2026, and a measurement across four AI systems is running.

Homepage of MediaBrief, an Indian B2B news platform on media and marketing, with the rebuilt navigation.

Key facts

ClientMediaBrief (Responsible Media Private Limited)
SectorB2B media and publishing, India
PeriodDelivered July 2026, measurement ongoing
DisciplinesGEO, SEO, web development, content
TechnologyWordPress, All in One SEO Pro, WPCode, WP Rocket, schema.org, llms.txt
StatusLive

About the client

MediaBrief publishes daily news, interviews, features and podcasts for media, marketing and communications professionals in India. The site has a very large archive, several editorial brands and four podcast series. That scale makes it hard for a machine to see what belongs together.

The brief

Ranking better in Google was not the main aim. The client wanted MediaBrief to be recognised as a genuine source of knowledge. The editor in chief had set this out in his own philosophy: capture, connect, preserve and compound knowledge. AI systems mainly cite sources they can place with confidence.

Where things stood

I started by analysing the structured data (code that tells a machine what a page contains) on a set of key pages, and by checking the brand assets and the llms.txt file (a text file that gives AI systems an overview of a site). The publisher was marked up as a generic organisation, without the fields a news aggregator or AI system uses to judge whether it is a real newsroom. Those fields were empty because there was no page to point them to. The logo in the markup was a 112 by 112 pixel favicon. The auto-generated llms.txt ran to about 324,000 characters, mostly tag archives. Many category archives had no description.

What I did

One publisher, one identity

I made the publisher a single named NewsMediaOrganization (the schema type for a news organisation). Every page refers to it with the same identifier instead of describing it again. Podcast series and editorial brands became entities (recognisable things with their own name). The logo became a 1200 by 303 pixel publisher logo. All schema work lives in thirteen snippets in WPCode, deliberately outside the theme, so a theme update or theme change does not wipe it.

Pages that back up trust

I built three pages: About MediaBrief, Philosophy and Editorial Properties. Philosophy explains how stories are reported, how facts are checked and how corrections are handled. Four trust fields on the publisher now point to that page: publishing principles, ethics policy, corrections policy and fact checking policy. I also gave about ninety category archives a real description and rebuilt the navigation and footer.

A hand-written llms.txt

I replaced the automatic llms.txt with a hand-written version of about 4,600 characters and nineteen links to the pages that work best as reference material. The SEO plugin writes a physical file to the server, and while that file exists a snippet never gets a say. So I switched off the automatic generation.

What I chose not to do

I did not change robots.txt (the file that tells crawlers what they may read). One mistake there can lock crawlers out. I wrote a recommendation and am waiting for the client’s approval. I also keep exact article counts out of fixed text. An exact number is wrong a week later.

MediaBrief Philosophy page setting out its editorial standards, including how stories are reported and corrected.
MediaBrief Philosophy page setting out its editorial standards, including how stories are reported and corrected.
Directory of MediaBrief editorial brands and podcast series, each linking to its archive.
Directory of MediaBrief editorial brands and podcast series, each linking to its archive.
MediaBrief's hand-written llms.txt file with links to its key reference pages.
MediaBrief's hand-written llms.txt file with links to its key reference pages.

How I checked it

  • I tested every page on its live URL after clearing the WP Rocket cache (the stored copy of the page) for that URL.
  • I used validator.schema.org because it shows every entity, including types Google no longer displays in search. For each URL I confirmed there was exactly one page-level entity and one publisher.
  • I opened every external link in the markup, such as social profiles, before adding it.
  • For both FAQ blocks I checked that every question appears word for word on the page. Google’s Rich Results Test has not shown FAQ markup since 7 May 2026, so seeing nothing there does not mean the markup is broken.
  • A second organisation is not automatically an error. One interview lists the interviewee’s employer next to MediaBrief. I left it in on purpose; merging them would tell a machine the interviewee works for MediaBrief.
  • After switching off the automatic llms.txt, I confirmed that the live URL serves the hand-written version, not the old file.
  • For AI visibility I ran a baseline with 25 to 30 target queries in ChatGPT, Perplexity, Gemini and Google AI Overviews. The client and I chose the queries together, based on where the newsroom is strongest. Every run uses the same wording in a fresh session with no history. I record whether MediaBrief is cited, whether the name is correct and which page is referenced.

Results

There are no measured results to show here yet (as of September 2026). Everything described under “What I did” is live. The client also has a tracking workbook to follow how AI systems mention MediaBrief.

What the client says

Thanks to Julian, this has been, quite simply, the finest Fiverr engagement I have experienced. I wanted to begin with this in the hope that it catches the eye of anyone else looking for potential guide-partners for any of the kind of projects Julian provides. Believe me, he is peerless, and you will thank me after he is done. But first, I want to thank Julian myself, sincerely, for the exceptional standard of work he brought to our project. Across all the specialists I have worked with on Fiverr or anywhere else in the freelancer universe, I have not come across anyone more technically capable, strategically thoughtful, meticulous, transparent or committed. Julian has not merely completed a technical assignment, he has helped us understand, secure and document an important part of the future foundation of one of our brands. Julian's intellectual honesty, patience, care and extraordinary commitment throughout this engagement, has given us far more than a set of optimisations. Julian has helped us understand, secure and preserve a strategically important part of the technical foundation of our brand. Julian's willingness to verify everything against the live site, correct anything that needed correction, explain every decision, preserve reversibility and create a genuinely portable technical archive has been invaluable. Thank you Julian. You stand alone.
pavanrchawla India · via Fiverr

These reviews were posted by verified clients on Fiverr. View them on my Fiverr profile. See all reviews on Fiverr

What comes next

Follow-up measurements are set for day 30, 60 and 90 after delivery. Day 30 mainly shows whether the name is used correctly; around day 90 citation frequency becomes visible. The podcast episode model, now on one episode, is ready to roll out to the others.

Frequently asked questions

Does a large news archive benefit from GEO?

Yes, precisely because it is large. The more pages there are, the more it matters that an AI system can see they all come from the same publisher. For MediaBrief that was the first step.

Why write llms.txt by hand when the plugin can generate it?

The generated file was about 324,000 characters, mostly tag archives. The hand-written version is about 4,600 characters and only points to pages that serve as reference material. I checked every link in it.

All cases