SteadyPost turns a spreadsheet into WordPress posts. Each row is a post; each column is a field — title, content, excerpt, slug, status, categories, tags, featured image, publish date, author, and SEO title, description and keywords.
It works on its own. Download a sample or blank template (Excel or CSV), fill it in with any spreadsheet app, and upload it back. No account or external service is needed.
hero.jpg in a row, or reuse an image already in your media library. Each image is added to the library once.SEO columns are written to whichever SEO plugin is active: Yoast SEO, Rank Math or SEOPress, as well as Mikado/Qode theme SEO fields or meta keys you name yourself.
Instead of uploading a file, SteadyPost can read rows straight from a Google Sheet — anonymously for link-shared files, or as a Google service account for privately shared ones — and re-import it on a schedule. Any row can point at a Google Doc to use as the post body, with its headings, formatting, links, tables and images. See External services below.
SteadyPost adds no tracking and sends no data anywhere unless you use the optional Google features. Uploaded spreadsheets are stored in a private folder in wp-content/uploads that is blocked from the web, and replaced each time you upload a new one.
SteadyPost connects to Google only when you choose to. If you import from an uploaded CSV or Excel file and leave the Google Doc column empty, it makes no outside requests at all. Requests to images on other sites are made only for image URLs you put in your spreadsheet.
Google Sheets — used when Settings Source is set to a Google Sheet. When you open the Settings screen, preview, run an import or a scheduled sync runs, SteadyPost requests the sheet’s contents. It sends the spreadsheet ID from the URL you entered, your Sheets API key if you set one, and your site’s address in the User-Agent header.
https://docs.google.com/spreadsheets/d/{id}/export — CSV and XLSX exports of the sheet.https://sheets.googleapis.com/v4/spreadsheets/{id} — the Google Sheets API, in Sheets API mode.Google Docs and Google Drive — used when a row links a Google Doc as its content, or names a Google Drive image. During the import of that row, SteadyPost downloads the document as HTML, or the image file. It sends the document or file ID from the link.
https://docs.google.com/document/d/{id}/exporthttps://drive.google.com/ucGoogle OAuth — used only if you connect a Google service account to read privately shared files. To get an access token, SteadyPost sends https://oauth2.googleapis.com/token a request signed with the service account’s private key. It contains the service account’s email address and the read-only access it asks for. The key itself is never sent. Tokens are requested when a Google file is read and when the Settings screen checks the connection.
These services are provided by Google: Google Terms of Service, Google Privacy Policy, Google APIs Terms of Service.