{"id":199894,"date":"2026-06-25T09:35:15","date_gmt":"2026-06-25T14:35:15","guid":{"rendered":"https:\/\/ahrefs.com\/blog\/?p=199894"},"modified":"2026-06-25T09:35:54","modified_gmt":"2026-06-25T14:35:54","slug":"taught-agent-to-refresh-data-content","status":"publish","type":"post","link":"https:\/\/ahrefs.com\/blog\/taught-agent-to-refresh-data-content\/","title":{"rendered":"Keeping Data-Driven Content Fresh Was a Monthly Slog. So We Taught an Agent to Do&nbsp;It."},"content":{"rendered":"<div class=\"intro-txt\">\n<p>At Ahrefs, we publish many data-driven posts.<\/p>\n<\/div>\n<p><img decoding=\"async\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/image9-1-1.jpg\" alt=\"Four Ahrefs blog post previews titled &quot;The 50 Most-Cited Websites in Grok, Copilot, Perplexity, and Gemini (June 2026)&quot;, each with an author byline and date\"><\/p>\n<p>Publishing them is fun. Easy. And they get a ton of search traffic too.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/image2-3.png\" alt=\"Ahrefs organic traffic performance chart showing an upward trend in monthly organic traffic from 2015 to 2023\"><\/p>\n<p>But such posts, like \u201cTop Google Searches\u201d or \u201cMost Asked Questions on Google\u201d, are only worth reading if the numbers are current.<\/p>\n<p>Google knows that too, which explains the spike in search traffic every time we update the&nbsp;posts.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/image3-2.png\" alt=\"The same Ahrefs organic traffic chart with orange arrows pointing to repeated traffic spikes that line up with each content update\"><\/p>\n<p>So someone has to keep them&nbsp;fresh.<\/p>\n<p>Ideally, every month, someone (usually the author) had to pull fresh data from Ahrefs (or the API), clear out the junk and format the tables. The posts with custom charts were worse: spec the new chart, hand it to design, wait, review it, send it back for tweaks. Only then paste everything into WordPress without breaking the layout, update the dates, and republish.<\/p>\n<p>One post is fine. Bearable tedium. But 14 posts? 20? The more you publish, the more it becomes a slog. I could lose a whole afternoon and have nothing to show for it except a post that said the same thing as last month with slightly different numbers.<\/p>\n<p>It\u2019s one of the most tedious jobs on the content team.<\/p>\n<p>So, we made a compromise. We refreshed them every quarter. (And to be honest, there are some posts we never even got&nbsp;to.)<\/p>\n<p>Fast forward to today. We don\u2019t do that anymore. <a href=\"https:\/\/ahrefs.com\/agent-a\">Letaido<\/a> does it for us. It\u2019s been running quietly for two months now. Altogether, it\u2019s saving us at least 20 hours per month. Not only can we now update them every month, we can publish more of such posts, and update them regularly too.<\/p>\n<p>It\u2019s a genuine win\/win: far less drudgery for us, and fresher, more accurate numbers for the reader.<\/p>\n<p>Drop me some of that fire emoji, yes please.<\/p>\n<p>Automating content marketing like this is apparently unfashionable to admit in 2026, with Gartner <a href=\"https:\/\/martech.org\/gartner-40-of-agentic-ai-projects-will-fail-making-humans-indispensable\/\">saying<\/a> more than 40% of agentic AI projects will be scrapped by the end of&nbsp;2027.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/image14-2.png\" alt=\"MarTech article headline reading &quot;Gartner: 40% of agentic AI projects will fail, making humans indispensable&quot;\"><\/p>\n<p>With the amount of LinkedIn bragging and much of \u201cAI agent\u201d demos being merely performative, I can understand the disillusionment. Fortunately, this one&nbsp;works.<\/p>\n<p>But it works precisely because it\u2019s boring. It doesn\u2019t write our articles. It simply does the tedious part, which is a big part of content marketing.<\/p>\n<div class=\"intro-tok\" id=\"intro_tok\" style=\"display:none;\"><div class=\"intro-title\">Contents<\/div><a href=\"#\" class=\"expand-dots\"><span><\/span><span><\/span><span><\/span><\/a><\/div>\n<div class=\"post-nav-link clearfix\" id=\"section1\"><a class=\"subhead-anchor\" data-tip=\"tooltip__copielink\" rel=\"#section1\"><svg width=\"19\" height=\"19\" viewBox=\"0 0 14 14\" style><g fill=\"none\" fill-rule=\"evenodd\"><path d=\"M0 0h14v14H0z\" \/><path d=\"M7.45 9.887l-1.62 1.621c-.92.92-2.418.92-3.338 0a2.364 2.364 0 0 1 0-3.339l1.62-1.62-1.273-1.272-1.62 1.62a4.161 4.161 0 1 0 5.885 5.884l1.62-1.62L7.45 9.886zM5.527 5.135L7.17 3.492c.92-.92 2.418-.92 3.339 0 .92.92.92 2.418 0 3.339L8.866 8.473l1.272 1.273 1.644-1.643A4.161 4.161 0 1 0 5.897 2.22L4.254 3.863l1.272 1.272zm-.66 3.998a.749.749 0 0 1 0-1.06l2.208-2.206a.749.749 0 1 1 1.06 1.06L5.928 9.133a.75.75 0 0 1-1.061 0z\" style \/><\/g><\/svg><\/a><div class=\"link-text\" data-anchor=\"What I built: automatic data content updater\" data-section=\"what-i-built\">\n<h2>What I built: automatic data content updater<\/h2>\n<\/div><\/div>\n<p>I call it the <strong>Data Refresh Hub<\/strong>. It\u2019s a tool that lives in our Letaido workspace.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/image7-3.png\" alt=\"The Data Refresh Hub app showing a panel that reads &quot;7 drafts ready to review&quot; with dataset names, plus a &quot;Top Google Searches (US)&quot; card with Refresh, Review, and Publish buttons\"><\/p>\n<p>Once a month it pulls fresh data for all 14 datasets \u2014 keyword volumes and questions from Keywords Explorer, AI citations from <a href=\"https:\/\/ahrefs.com\/brand-radar\">Brand Radar<\/a> \u2014 cleans each one by its own rules, and saves the results so I can see exactly what it kept and what it threw out. Then it builds a WordPress draft with the new tables in place and emails me to say it\u2019s&nbsp;ready.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/image1-3.png\" alt=\"An email titled &quot;Data Refresh Hub \u2014 June 2026&quot; listing seven WordPress drafts ready to review, each linking to an updated data post\"><\/p>\n<p>I want to be honest about how unglamorous the building was.<\/p>\n<p>Getting the data alone meant three completely separate paths. I could get the US keyword tables easily via Letaido as it has all Ahrefs data. But the global ones weren\u2019t available as it was custom-made by our data scientists previously for these posts. So I had to connect it to a separate internal service. Then I had to grab the AI citation tables from Brand Radar, one platform at a&nbsp;time.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/image5-3.png\" alt=\"A &quot;Data Sources (all via Ahrefs API)&quot; table mapping each post to its API method, sort order, country, and special handling rules\"><\/p>\n<p>And then there are what seem to be silly problems. One build kept throwing a 500 error over a tiny capitalization mismatch: our code sent the field as Cpc, and the API insisted on CPC, all caps. I lost a genuinely embarrassing amount of time to that&nbsp;one.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/image13-1.png\" alt=\"A debugging explanation showing that the SDK serialized the sort value as &quot;Cpc&quot; causing a 500 error, while the API expected &quot;CPC&quot; in all caps\"><\/p>\n<p>Despite all of these, I want to say it was genuinely magic. After all, I didn\u2019t hand-code any of this. I built it conversationally in Letaido. Letaido did all the work. Even the \u201ctime lost\u201d was Letaido figuring out how to fix it, not&nbsp;me.<\/p>\n<div class=\"post-nav-link clearfix\" id=\"section1\"><a class=\"subhead-anchor\" data-tip=\"tooltip__copielink\" rel=\"#section1\"><svg width=\"19\" height=\"19\" viewBox=\"0 0 14 14\" style><g fill=\"none\" fill-rule=\"evenodd\"><path d=\"M0 0h14v14H0z\" \/><path d=\"M7.45 9.887l-1.62 1.621c-.92.92-2.418.92-3.338 0a2.364 2.364 0 0 1 0-3.339l1.62-1.62-1.273-1.272-1.62 1.62a4.161 4.161 0 1 0 5.885 5.884l1.62-1.62L7.45 9.886zM5.527 5.135L7.17 3.492c.92-.92 2.418-.92 3.339 0 .92.92.92 2.418 0 3.339L8.866 8.473l1.272 1.273 1.644-1.643A4.161 4.161 0 1 0 5.897 2.22L4.254 3.863l1.272 1.272zm-.66 3.998a.749.749 0 0 1 0-1.06l2.208-2.206a.749.749 0 1 1 1.06 1.06L5.928 9.133a.75.75 0 0 1-1.061 0z\" style \/><\/g><\/svg><\/a><div class=\"link-text\" data-anchor=\"Humans are still indispensable\" data-section=\"humans-are-still-indispensable\">\n<h2>Humans are still indispensable<\/h2>\n<\/div><\/div>\n<p>There are two jobs I kept deliberately human.<\/p>\n<p>The first was judging what the agent produces.<\/p>\n<p>Take \u201cmost asked questions on Google\u201d. You\u2019d assume pulling the top questions is just sorting by search volume. It isn\u2019t. The raw list is full of things that look like questions but aren\u2019t. \u201cHow to train your dragon\u201d is a movie. \u201cWould you rather questions\u201d isn\u2019t a question at all. Brand and product searches sneak in. So do oddly specific queries that read like a bot wrote&nbsp;them.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/image15-2.png\" alt=\"A chat message pointing out that the &quot;Most Asked Questions&quot; list still contains movie and drama titles like &quot;I know what you did last summer&quot; and &quot;doctor who&quot;, and the agent's reply offering to add an LLM review step\"><\/p>\n<p>A person spots these in a second. So we run a cleaning layer, including an LLM pass, whose whole job is to make those calls at scale. For the \u201cmost searched people\u201d table, it works through up to 5,000 candidates and decides what\u2019s a real human name, what\u2019s \u201c[name] net worth\u201d, and what\u2019s just a normal word that happens to look like a&nbsp;name.<\/p>\n<p>It\u2019s good at this, but not perfect, which is exactly why I look at every refresh before it goes anywhere.<\/p>\n<p>My colleague Louise ran into a harder version of the same problem. She built an agent that ranks the fastest-growing companies using Ahrefs data, and the deceptively hard part was teaching it what counts as a real breakout brand and what\u2019s just&nbsp;noise.<\/p>\n<p>Some company names are also ordinary words. You can\u2019t measure the growth of \u201ccursor\u201d or \u201cperplexity\u201d from zero, because people were searching those long before the companies existed. So the system estimates how many searches the word was already getting before the brand emerged, subtracts that baseline, and counts only the brand-driven volume on top. The company stays on the list; only the pre-existing noise comes&nbsp;off.<\/p>\n<p>Then it has to ignore one-month spikes that never hold, and actually Google each name to confirm the company itself ranks for it. Otherwise \u201cTropic\u201d the software vanishes under Tropic the skincare brand. Every one of those rules is a call Louise made about what \u201creal\u201d means. The agent just enforces it.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/image4-1-1.jpg\" alt=\"A ranked table titled &quot;The full 50: fastest-growing SaaS companies by brand search&quot; listing companies like Metricool, Supabase, and Cartpanda with their industry, brand search growth, and monthly brand searches\"><\/p>\n<p>All human by the&nbsp;way.<\/p>\n<p>This is also why the agent never publishes on its own. It creates a draft, and only goes live after a human confirms it.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/image6-2.png\" alt=\"A Data Refresh Hub card for &quot;Top Google Searches (US)&quot; with the &quot;Approve draft \u2192 Live&quot; button highlighted in a yellow box\"><\/p>\n<p>None of this sounds particularly impressive. But I think that\u2019s the <em>actual beauty<\/em> of automation. I\u2019m completely fine with an agent that does 90% of a job and leaves me the last 10%. An agent that does 100% and occasionally publishes nonsense to a live, public blog won\u2019t be a time-saver. It\u2019s asking for a fire to put&nbsp;out.<\/p>\n<p>That\u2019s why I still check it\u2019s right and hit publish myself.<\/p>\n<div class=\"post-nav-link clearfix\" id=\"section1\"><a class=\"subhead-anchor\" data-tip=\"tooltip__copielink\" rel=\"#section1\"><svg width=\"19\" height=\"19\" viewBox=\"0 0 14 14\" style><g fill=\"none\" fill-rule=\"evenodd\"><path d=\"M0 0h14v14H0z\" \/><path d=\"M7.45 9.887l-1.62 1.621c-.92.92-2.418.92-3.338 0a2.364 2.364 0 0 1 0-3.339l1.62-1.62-1.273-1.272-1.62 1.62a4.161 4.161 0 1 0 5.885 5.884l1.62-1.62L7.45 9.886zM5.527 5.135L7.17 3.492c.92-.92 2.418-.92 3.339 0 .92.92.92 2.418 0 3.339L8.866 8.473l1.272 1.273 1.644-1.643A4.161 4.161 0 1 0 5.897 2.22L4.254 3.863l1.272 1.272zm-.66 3.998a.749.749 0 0 1 0-1.06l2.208-2.206a.749.749 0 1 1 1.06 1.06L5.928 9.133a.75.75 0 0 1-1.061 0z\" style \/><\/g><\/svg><\/a><div class=\"link-text\" data-anchor=\"My colleagues started building their own\" data-section=\"my-colleagues-started-building-their-own\">\n<h2>My colleagues started building their&nbsp;own<\/h2>\n<\/div><\/div>\n<p>I originally built the Data Refresh Hub for my own posts. I didn\u2019t think it was anything special, but I decided to share about it on&nbsp;Slack.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/image11-1.jpg\" alt=\"A Slack message from SQ explaining that he automated updating posts like Top Google Searches via Letaido, now getting a monthly email with WordPress draft links, with reactions below\"><\/p>\n<p>Turns out I actually underestimated what I did. It inspired my colleagues to start doing similar things.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/image16.png\" alt=\"A Slack reply from Ryan saying the post is very worth posting and that it inspired him and Louise to look into automating their own &quot;fastest growing companies&quot; and &quot;most cited domains&quot; posts\"><\/p>\n<p>Louise built a whole family of fastest-growing company rankings. She didn\u2019t just update the data; she also used Letaido to add judgment, charts, and all sorts of other&nbsp;data.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/image8-3.png\" alt=\"A Metricool brand search chart from Louise's fastest-growing companies post, showing 5-year search growth of +17,780% with a forecast, above a bullet list of company stats\"><\/p>\n<p>Our Director of Content Marketing, Ryan, also set up the same kind of monthly automation for his own data content. <a href=\"https:\/\/www.linkedin.com\/feed\/update\/urn:li:activity:7474848086876598272\/\">His reaction<\/a>, near enough word for word: \u201cThis was my dream for AI: actual automation, genuinely saving us hours of drudgery. And it is finally here. SORCERY!!!\u201d<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/image10.png\" alt=\"A LinkedIn post from Ryan Law, Director of Content Marketing at Ahrefs, describing how his team now automatically pulls data, generates charts and tables, updates WordPress drafts, and emails him, ending with &quot;SORCERY!!!&quot;\"><\/p>\n<p>His version now runs on a schedule: pulls fresh data, regenerates the charts and tables, builds the WordPress drafts, makes the small date and sample-size edits, and emails him when the article\u2019s ready to look&nbsp;at.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/image12-2.jpg\" alt=\"An email titled &quot;CTR benchmarks refresh ready for review \u2014 May 2026&quot; telling Ryan the monthly refresh is ready as a WordPress draft, with edit and preview links and a note that nothing has been published\"><\/p>\n<p>Nobody was told to do any of this. It spread because it worked, and the fact that it spread on its own (without anyone assigned to make it happen), is a clear sign that it\u2019s real and not just a demo. Useful things just get copied, without anyone needing to call a meeting.<\/p>\n<p>There are three of us running a version of this&nbsp;now.<\/p>\n<div class=\"post-nav-link clearfix\" id=\"section1\"><a class=\"subhead-anchor\" data-tip=\"tooltip__copielink\" rel=\"#section1\"><svg width=\"19\" height=\"19\" viewBox=\"0 0 14 14\" style><g fill=\"none\" fill-rule=\"evenodd\"><path d=\"M0 0h14v14H0z\" \/><path d=\"M7.45 9.887l-1.62 1.621c-.92.92-2.418.92-3.338 0a2.364 2.364 0 0 1 0-3.339l1.62-1.62-1.273-1.272-1.62 1.62a4.161 4.161 0 1 0 5.885 5.884l1.62-1.62L7.45 9.886zM5.527 5.135L7.17 3.492c.92-.92 2.418-.92 3.339 0 .92.92.92 2.418 0 3.339L8.866 8.473l1.272 1.273 1.644-1.643A4.161 4.161 0 1 0 5.897 2.22L4.254 3.863l1.272 1.272zm-.66 3.998a.749.749 0 0 1 0-1.06l2.208-2.206a.749.749 0 1 1 1.06 1.06L5.928 9.133a.75.75 0 0 1-1.061 0z\" style \/><\/g><\/svg><\/a><div class=\"link-text\" data-anchor=\"How to find a job like this in your own work and automate it\" data-section=\"how-to-find-a-job-like-this\">\n<h2>How to find a job like this in your own work and automate it<\/h2>\n<\/div><\/div>\n<p>I can almost guarantee that you have a job like this hiding in your own work. Most content teams&nbsp;do.<\/p>\n<p>Here\u2019s how I\u2019d go looking for&nbsp;it.<\/p>\n<p>Start with a question. Go through the work you do on repeat and ask two things of each task: does it run on a schedule, and could you write down the rules for what \u201cdone right\u201d looks&nbsp;like?<\/p>\n<p>If both answers are yes, it\u2019s a candidate. \u201cPull the same numbers from the same place every month and reformat them the same way\u201d passes easily. \u201cWrite the article\u201d fails the second test, and that\u2019s the part you might want to keep doing yourself anyway.<\/p>\n<p>If what you\u2019re running is marketing work, just go to <a href=\"https:\/\/ahrefs.com\/agent-a\">Letaido<\/a> and tell it what you need. It\u2019ll do most of the hard, tedious work for you. (If you\u2019re an Ahrefs customer, you get a free&nbsp;month.)<\/p>\n<p>Then, if I had to boil down what actually made ours&nbsp;work:<\/p>\n<ul>\n<li><strong>Automate the plumbing, not the thinking<\/strong>. Fetching, cleaning, formatting, pasting. These are all mechanical work and it\u2019s exactly what you want to hand off. Keep the thinking part for yourself.<\/li>\n<\/ul>\n<ul>\n<li><strong>Make the cleaning visible<\/strong>. Don\u2019t let the agent just hand you a finished list. Get it to show you what it removed, and why, right next to what it&nbsp;kept.<\/li>\n<\/ul>\n<ul>\n<li><strong>Keep a human at the gate<\/strong>. Drafts only. Let a person publish. This buys you most of the safety.<\/li>\n<\/ul>\n<ul>\n<li><strong>Lock the things the model shouldn\u2019t touch<\/strong>. Headline stats, verified figures, the opening line. You\u2019d want to pin them down so the agent can\u2019t quietly reword a number into something that isn\u2019t true anymore.<\/li>\n<\/ul>\n<p>That\u2019s really all it is. It isn\u2019t exciting, and sort of the point. The boring, well-defined jobs are the ones AI handles well today, and they\u2019re sitting in plain sight in pretty much every content workflow.<\/p>\n<div class=\"post-nav-link clearfix\" id=\"section1\"><a class=\"subhead-anchor\" data-tip=\"tooltip__copielink\" rel=\"#section1\"><svg width=\"19\" height=\"19\" viewBox=\"0 0 14 14\" style><g fill=\"none\" fill-rule=\"evenodd\"><path d=\"M0 0h14v14H0z\" \/><path d=\"M7.45 9.887l-1.62 1.621c-.92.92-2.418.92-3.338 0a2.364 2.364 0 0 1 0-3.339l1.62-1.62-1.273-1.272-1.62 1.62a4.161 4.161 0 1 0 5.885 5.884l1.62-1.62L7.45 9.886zM5.527 5.135L7.17 3.492c.92-.92 2.418-.92 3.339 0 .92.92.92 2.418 0 3.339L8.866 8.473l1.272 1.273 1.644-1.643A4.161 4.161 0 1 0 5.897 2.22L4.254 3.863l1.272 1.272zm-.66 3.998a.749.749 0 0 1 0-1.06l2.208-2.206a.749.749 0 1 1 1.06 1.06L5.928 9.133a.75.75 0 0 1-1.061 0z\" style \/><\/g><\/svg><\/a><div class=\"link-text\" data-anchor=\"Final thoughts\" data-section=\"final-thoughts\">\n<h2>Final thoughts<\/h2>\n<\/div><\/div>\n<p>This is one of the best parts of AI automation right now. It can help with all the work you quietly dread every single week or&nbsp;month.<\/p>\n<p>Get an agent to do it, but be the editor that says it works and pushes live.<\/p>\n<p>If there\u2019s a lesson in here, it isn\u2019t a very flashy one. Hand the boring, repetitive stuff to the machine, and keep the parts that actually need&nbsp;you.<\/p>\n<p>We\u2019re all managers now.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Publishing them is fun. Easy. And they get a ton of search traffic too. But such posts, like \u201cTop Google Searches\u201d or \u201cMost Asked Questions on Google\u201d, are only worth reading if the numbers are current. Google knows that too,<span class=\"ellipsis\">\u2026<\/span><\/p>\n<div class=\"read-more\">Read more \u203a<\/div>\n<p><!-- end of .read-more --><\/p>\n","protected":false},"author":146,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"wp_typography_post_enhancements_disabled":false,"footnotes":""},"categories":[73,335],"tags":[],"coauthors":[339],"class_list":["post-199894","post","type-post","status-publish","format-standard","hentry","category-content-marketing","category-general-seo","odd"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Keeping Data-Driven Content Fresh Was a Monthly Slog. So We Taught an Agent to Do It.<\/title>\n<meta name=\"description\" content=\"Here&#039;s how the Ahrefs content team uses AI to save 20+ hours per month.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ahrefs.com\/blog\/taught-agent-to-refresh-data-content\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Keeping Data-Driven Content Fresh Was a Monthly Slog. So We Taught an Agent to Do It.\" \/>\n<meta property=\"og:description\" content=\"Here&#039;s how the Ahrefs content team uses AI to save 20+ hours per month.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ahrefs.com\/blog\/taught-agent-to-refresh-data-content\/\" \/>\n<meta property=\"og:site_name\" content=\"SEO Blog by Ahrefs\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Ahrefs\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-25T14:35:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-25T14:35:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/image9-1-1.jpg\" \/>\n<meta name=\"author\" content=\"Si Quan Ong\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@siquanong\" \/>\n<meta name=\"twitter:site\" content=\"@ahrefs\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/taught-agent-to-refresh-data-content\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/taught-agent-to-refresh-data-content\\\/\"},\"author\":{\"name\":\"Si Quan Ong\",\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/#\\\/schema\\\/person\\\/e09e43a1a939a6723fb3c1ebd243f2e7\"},\"headline\":\"Keeping Data-Driven Content Fresh Was a Monthly Slog. So We Taught an Agent to Do&nbsp;It.\",\"datePublished\":\"2026-06-25T14:35:15+00:00\",\"dateModified\":\"2026-06-25T14:35:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/taught-agent-to-refresh-data-content\\\/\"},\"wordCount\":1838,\"publisher\":{\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/taught-agent-to-refresh-data-content\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/keeping-data-driven-content-fresh-was-a-by-si-quan-ong-general-seo-1.jpg\",\"articleSection\":[\"Content Marketing\",\"General SEO\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/taught-agent-to-refresh-data-content\\\/\",\"url\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/taught-agent-to-refresh-data-content\\\/\",\"name\":\"Keeping Data-Driven Content Fresh Was a Monthly Slog. So We Taught an Agent to Do It.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/taught-agent-to-refresh-data-content\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/taught-agent-to-refresh-data-content\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/image9-1-1.jpg\",\"datePublished\":\"2026-06-25T14:35:15+00:00\",\"dateModified\":\"2026-06-25T14:35:54+00:00\",\"description\":\"Here's how the Ahrefs content team uses AI to save 20+ hours per month.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/ahrefs.com\\\/blog\\\/taught-agent-to-refresh-data-content\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/taught-agent-to-refresh-data-content\\\/#primaryimage\",\"url\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/image9-1-1.jpg\",\"contentUrl\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/image9-1-1.jpg\",\"width\":1582,\"height\":1704,\"caption\":\"Four Ahrefs blog post previews titled \\\"The 50 Most-Cited Websites in Grok, Copilot, Perplexity, and Gemini (June 2026)\\\", each with an author byline and date\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/\",\"name\":\"SEO Blog by Ahrefs\",\"description\":\"Link Building Strategies &amp; SEO Tips\",\"publisher\":{\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/#organization\",\"name\":\"Ahrefs\",\"url\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/ahrefs-logo.png\",\"contentUrl\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/ahrefs-logo.png\",\"width\":2048,\"height\":768,\"caption\":\"Ahrefs\"},\"image\":{\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Ahrefs\\\/\",\"https:\\\/\\\/x.com\\\/ahrefs\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/ahrefs\\\/\",\"https:\\\/\\\/www.youtube.com\\\/c\\\/ahrefscom\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/#\\\/schema\\\/person\\\/e09e43a1a939a6723fb3c1ebd243f2e7\",\"name\":\"Si Quan Ong\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/SiQuanOng_2x.jpga792b2ebf044ff0f390a6e1c76bf4a0e\",\"url\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/SiQuanOng_2x.jpg\",\"contentUrl\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/SiQuanOng_2x.jpg\",\"caption\":\"Si Quan Ong\"},\"description\":\"Content marketer @ Ahrefs. I've been in digital marketing for the past 6 years and have spoken at some of the industry\u2019s largest conferences in Asia (TIECon and Digital Marketing Skill Share.) I also write about my curiosities on my Substack.\",\"sameAs\":[\"https:\\\/\\\/www.siquanong.com\\\/\",\"si-quan-ong\",\"https:\\\/\\\/x.com\\\/siquanong\"],\"url\":\"https:\\\/\\\/ahrefs.com\\\/blog\\\/author\\\/si-quan-ong\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Keeping Data-Driven Content Fresh Was a Monthly Slog. So We Taught an Agent to Do It.","description":"Here's how the Ahrefs content team uses AI to save 20+ hours per month.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ahrefs.com\/blog\/taught-agent-to-refresh-data-content\/","og_locale":"en_US","og_type":"article","og_title":"Keeping Data-Driven Content Fresh Was a Monthly Slog. So We Taught an Agent to Do It.","og_description":"Here's how the Ahrefs content team uses AI to save 20+ hours per month.","og_url":"https:\/\/ahrefs.com\/blog\/taught-agent-to-refresh-data-content\/","og_site_name":"SEO Blog by Ahrefs","article_publisher":"https:\/\/www.facebook.com\/Ahrefs\/","article_published_time":"2026-06-25T14:35:15+00:00","article_modified_time":"2026-06-25T14:35:54+00:00","og_image":[{"url":"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/image9-1-1.jpg","type":"","width":"","height":""}],"author":"Si Quan Ong","twitter_card":"summary_large_image","twitter_creator":"@siquanong","twitter_site":"@ahrefs","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ahrefs.com\/blog\/taught-agent-to-refresh-data-content\/#article","isPartOf":{"@id":"https:\/\/ahrefs.com\/blog\/taught-agent-to-refresh-data-content\/"},"author":{"name":"Si Quan Ong","@id":"https:\/\/ahrefs.com\/blog\/#\/schema\/person\/e09e43a1a939a6723fb3c1ebd243f2e7"},"headline":"Keeping Data-Driven Content Fresh Was a Monthly Slog. So We Taught an Agent to Do&nbsp;It.","datePublished":"2026-06-25T14:35:15+00:00","dateModified":"2026-06-25T14:35:54+00:00","mainEntityOfPage":{"@id":"https:\/\/ahrefs.com\/blog\/taught-agent-to-refresh-data-content\/"},"wordCount":1838,"publisher":{"@id":"https:\/\/ahrefs.com\/blog\/#organization"},"image":{"@id":"https:\/\/ahrefs.com\/blog\/taught-agent-to-refresh-data-content\/#primaryimage"},"thumbnailUrl":"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/keeping-data-driven-content-fresh-was-a-by-si-quan-ong-general-seo-1.jpg","articleSection":["Content Marketing","General SEO"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/ahrefs.com\/blog\/taught-agent-to-refresh-data-content\/","url":"https:\/\/ahrefs.com\/blog\/taught-agent-to-refresh-data-content\/","name":"Keeping Data-Driven Content Fresh Was a Monthly Slog. So We Taught an Agent to Do It.","isPartOf":{"@id":"https:\/\/ahrefs.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ahrefs.com\/blog\/taught-agent-to-refresh-data-content\/#primaryimage"},"image":{"@id":"https:\/\/ahrefs.com\/blog\/taught-agent-to-refresh-data-content\/#primaryimage"},"thumbnailUrl":"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/image9-1-1.jpg","datePublished":"2026-06-25T14:35:15+00:00","dateModified":"2026-06-25T14:35:54+00:00","description":"Here's how the Ahrefs content team uses AI to save 20+ hours per month.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ahrefs.com\/blog\/taught-agent-to-refresh-data-content\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ahrefs.com\/blog\/taught-agent-to-refresh-data-content\/#primaryimage","url":"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/image9-1-1.jpg","contentUrl":"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2026\/06\/image9-1-1.jpg","width":1582,"height":1704,"caption":"Four Ahrefs blog post previews titled \"The 50 Most-Cited Websites in Grok, Copilot, Perplexity, and Gemini (June 2026)\", each with an author byline and date"},{"@type":"WebSite","@id":"https:\/\/ahrefs.com\/blog\/#website","url":"https:\/\/ahrefs.com\/blog\/","name":"SEO Blog by Ahrefs","description":"Link Building Strategies &amp; SEO Tips","publisher":{"@id":"https:\/\/ahrefs.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ahrefs.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ahrefs.com\/blog\/#organization","name":"Ahrefs","url":"https:\/\/ahrefs.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ahrefs.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2023\/06\/ahrefs-logo.png","contentUrl":"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2023\/06\/ahrefs-logo.png","width":2048,"height":768,"caption":"Ahrefs"},"image":{"@id":"https:\/\/ahrefs.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Ahrefs\/","https:\/\/x.com\/ahrefs","https:\/\/www.linkedin.com\/company\/ahrefs\/","https:\/\/www.youtube.com\/c\/ahrefscom"]},{"@type":"Person","@id":"https:\/\/ahrefs.com\/blog\/#\/schema\/person\/e09e43a1a939a6723fb3c1ebd243f2e7","name":"Si Quan Ong","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2023\/08\/SiQuanOng_2x.jpga792b2ebf044ff0f390a6e1c76bf4a0e","url":"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2023\/08\/SiQuanOng_2x.jpg","contentUrl":"https:\/\/ahrefs.com\/blog\/wp-content\/uploads\/2023\/08\/SiQuanOng_2x.jpg","caption":"Si Quan Ong"},"description":"Content marketer @ Ahrefs. I've been in digital marketing for the past 6 years and have spoken at some of the industry\u2019s largest conferences in Asia (TIECon and Digital Marketing Skill Share.) I also write about my curiosities on my Substack.","sameAs":["https:\/\/www.siquanong.com\/","si-quan-ong","https:\/\/x.com\/siquanong"],"url":"https:\/\/ahrefs.com\/blog\/author\/si-quan-ong\/"}]}},"as_json":null,"as_tables":null,"as_images":null,"json_reviewers":[194],"as_coauthors":[],"as_post_info":null,"as_sticky":null,"as_hreflang":null,"_links":{"self":[{"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/posts\/199894","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/users\/146"}],"replies":[{"embeddable":true,"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/comments?post=199894"}],"version-history":[{"count":9,"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/posts\/199894\/revisions"}],"predecessor-version":[{"id":199906,"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/posts\/199894\/revisions\/199906"}],"wp:attachment":[{"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/media?parent=199894"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/categories?post=199894"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/tags?post=199894"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/ahrefs.com\/blog\/wp-json\/wp\/v2\/coauthors?post=199894"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}