Google Sheets
Product and news records are edited in two dedicated spreadsheets using required headers and flexible column aliases.
Corporate website · Content automation & performance
A corporate agricultural website that turns editable spreadsheet content into product pages, news articles and locally managed image assets—without requiring a traditional CMS.
01 · Overview
AGVN needed more than a set of static pages. Product and news information had to remain editable without turning every content change into a manual coding task.
The resulting platform combines a static corporate website with a lightweight publishing engine. Content is maintained in Google Sheets, validated and transformed by a Node.js generator, then committed back to GitHub as deployable HTML and locally managed images.
This architecture keeps the public website fast and inexpensive while giving the business a familiar operational interface for ongoing updates.
02 · Operating model
The system has a clear ownership model: humans edit structured data and templates; automation manages the repetitive output.
Product and news records are edited in two dedicated spreadsheets using required headers and flexible column aliases.
Product and news templates define the design, SEO structure and shared layout of generated pages.
The generator fetches rows, validates fields, maps content, resolves slugs and writes output into product and news directories.
Google Drive and remote image URLs can be downloaded, verified and stored under assets/generated-images.
An hourly schedule and manual trigger run the generator, then commit only generated pages and image assets when changes exist.
The deployed result remains standard HTML, CSS, JavaScript and optimized assets—fast to serve and easy to inspect.
03 · Publishing architecture
The system assumes spreadsheet names and image inputs may change, so discovery, validation and retry logic sit between content editing and deployment.
Prefer configured gid, match known tab names, inspect discovered tabs, then fall back to the first tab.
Try OpenSheet and Google GViz CSV sources with timeout and retry handling.
Resilient accessConfirm required fields such as product name, slug and news title before generating output.
Safer generationResolve Google Drive IDs, verify image responses, create deterministic filenames and update the manifest.
Stable assetsMerge row data into reusable product and news templates and write static HTML outputs.
Consistent pagesStage generated directories and assets; skip the commit entirely when no output has changed.
Clean history04 · Key decisions
The business needed an editor-friendly workflow without introducing backend hosting, CMS maintenance or account management.
Product pages need stable URLs, crawlable content and predictable output even when the data source is temporarily unavailable.
Hard-coded tab names made the sync fragile when sheets were renamed, reordered or expanded.
gid, preferred names, discovered tabs and required-field checks.Editors may paste Google Drive links or other remote sources that are unsuitable for direct production use.
Direct raw asset delivery can create rate limits or inconsistent performance for a public website.
The first performance passes revealed heavy video, animation and external asset costs on mobile.
05 · Performance and reliability
AGVN required two forms of reliability: the public website had to remain responsive, and the publishing workflow had to fail visibly instead of generating incorrect pages.
Fonts and icon styles were shifted away from the critical rendering path.
AOS behavior was limited and paired with a failsafe so content remains visible if scripts fail.
Heavy YouTube behavior was reduced on mobile while preserving the customer-proof section.
Asset mapping and generated image storage reduce broken or slow external dependencies.
The generator refuses invalid sources instead of overwriting working output with incomplete pages.
Git history remains cleaner and scheduled runs do not create meaningless revisions.
06 · Lessons learned
Templates and spreadsheet rows are durable inputs. Generated product and news pages can be overwritten by design.
Supporting many tab names and aliases is useful only when required fields are verified before output.
Expecting every editor to provide production-ready URLs creates recurring breakage and support work.
Empty or invalid sheet data should not erase working pages during a scheduled run.
Removing heavy code is useful; accidentally hiding proof, product content or navigation is not.
With a disciplined generator and workflow, a static site can behave like a maintainable publishing product.
07 · Next priorities
The core publishing engine works. The next improvements should make issues easier to detect and content quality easier to control.
Record selected tabs, row counts, generated pages, skipped records, downloaded images and warnings.
Publish required headers, accepted aliases and example rows for products and news.
Verify canonical URLs, image paths, required metadata and broken internal links before committing.
Detect orphaned generated images and apply consistent size or format rules.
Expose last successful sync and last content update where it helps editors and maintainers.
Project record status
AGVN now has a durable public record covering its publishing architecture, automation decisions, performance work and operational lessons.