Often, the ability to bulk add/remove keywords from the platform or submit keywords for ad-hoc rank tracking is needed. While the platform allows for upto 10,000 keywords to be copied and pasted in directly, or keywords to be mass deleted, it may be cumbersome if there are hundreds of thousands of keywords that need to be managed – especially when running tests or research projects across multiple domains. The programmatic add/delete operations within seoClarity allows for exactly this kind of scale
APIs can be incredibly inefficient for bulk processing. Due to the size of the payload in these cases, a simple file upload allows for faster, more efficient processing and larger limits than possible via standard APIs.
Background & Requirements
Simply contact your Client Success Manager or
support@seoclarity.net to enable each of the operations below. You will get access to SFTP credentials for each domain you wish to manage using bulk operations. Specific sub-folder to upload files to for each operation are outlined below.
Common File Specification
- File uploaded must be
- Tab delimited
- UTF-8 encoded
- NOT compressed
- The columns in the file will depend on the operation being performed. See individual operation details below
- One row per keyword to be added/deleted/ad-hoc rank checked
- Keywords must be lower case
- Keywords with invalid characters (adwords disallowed characters) or disallowed google commands (like site:) will be rejected automatically - and sent via email to client specified notification address
- List of invalid characters '\', '!', '@', '%', '*', '?', '^', '~', '<', '>', '{', '}', ':', ';', '"', '¡', '¢', '£', '¤', '¥', '¦', '§', '¨', '©', 'ª', '«', '¬', '®', '¯', '–', '—', '‘', '’', '‚', '“', '”', '„', '†', '‡', '•', '…', '‰', '€', '™', '°', '±','²', '³', '´', 'µ', '¶', '·', '¸', '¹', 'º', '»', '¼', '½', '¾', '¿', '�', 'cache:', 'site:', 'allinurl:', 'related:', 'info:'
- File naming convention
- yyyyMMdd##-[operation].txt
- Date is the first part and must be in yyyyMMdd## format
- ## indicates a numerical value from 00 to 99
- This allows for up to 100 distinct uploads each day for each operation
- NOTE: The processing time will depend on how many files and how many rows are uploaded for each file
- Duplicate file names (same date and same numerical identifier) are not allowed
- Available operations
- ADD
- DELETE
- ADHOC
- Limitations
- Maximum 1,000,000 rows per operation
- Processing Order
- Files are processed in the order of upload
- Timing
- Timing is dependent on the number of rows and the number of tags processed
- Typically, 100,000 rows with 1 tag each can be processed within a couple of hours
- Ad-hoc Rank checking is limited to 50,000 keywords per hour
- Keywords submitted by 4 pm Central time are typically sent to rank check the same day
- 100,000 keywords can reasonably be rank checked before end of day if submitted by 4 pm Central time – but is not guaranteed
- In case data was submitted after 4 pm or more than 100,000 keywords were submitted, full data would be available for the next full day
- Data will be reflected in the UI the next day for Add and Delete operations
Bulk Programmatic Operations
Add
The Add operation allows for:
- Adding keywords to a platform profile to start tracking moving forward
- Adding the keywords to any tags specified
Add Specifications
- In addition to common file specifications above
- Filename
- yyyyMMdd##-add.txt
- Columns
- Keyword
- One keyword per row
- Tags
- Multiple tags can be specified within the same row for each keyword but must be separated by !_! (exclamation underscore exclamation) within the field
- Each row must contain a keyword
- A row with only the Tag column populated will be rejected – Keyword column cannot be blank
- The order of the columns is VERY important. “Keyword” in column 1 and “Tags” in column 2.
- Any mistakes in column order will result in data being uploaded wrong
- All keywords uploaded will be added to ALL national level engines enabled for the domain
- Example: If you have Google Desktop and Google Mobile enabled for USA, all uploaded keywords will be added to both engines. This is a platform level requirement
- Logic
- If no tag is specified then keywords will be simply added to the profile without tags
- If one or more tags are specified for each keyword, keywords will be added to tags (keyword + tag relationship will be created)
- If tag is specified and does not exist, a new tag will be created and keywords added to it
- If keyword already exists, and no tag specified, it will be skipped
- If keyword already exists and tag specified does not exist, the new tag will be created and keyword + tag relationship created
- Ranking data
Add File Location
1. Files should be uploaded to the /keyword_auto_upload folder on the sFTP provided.
2. Once processed, the uploaded file will be moved to the /keyword_auto_upload/backup/yyyymmdd/ sub-folder by our system.
3. Do not upload any files into that sub-folder. It is meant to maintain an archive of operations performed
4. If our processing system encounters an error with the file uploaded, all rows that triggered an error will be exported into a file and placed within the /keyword_auto_upload/errors sub-folder
4a. Error file name will be error-yyymmdd##.txt
- Rejected keywords will be sent via email
Delete
The delete operation provides 2 distinct capabilities:
- Delete keywords from the profile and stop tracking them moving forward
- Delete only the keyword + tag relationship but keep tracking keyword
Delete Specifications
Nearly identical to the specifications for ADD operation above, except for the logic of how delete of keywords and keyword+tags are handled
- In addition to common file specifications above
- Filename
- yyyyMMdd##-delete.txt
- ## indicates a numerical value from 00 to 99
- Columns
- Keyword
- One keyword per row
- Tags
- Multiple tags can be specified within the same row for each keyword but must be separated by !_! (exclamation underscore exclamation) within the field
- Each row must contain a keyword
- A row with only the Tag column populated will be rejected
- The order of the columns is VERY important. “Keyword” in column 1 and “Tags” in column 2.
- Any mistakes in column order will result in data being uploaded wrong
- Logic
- If keyword does not exist, then we will skip
- if keyword exists but tag does not exist, then we will delete the keyword only
- If keyword and tag are both specified, ONLY the keyword+tag relationship will be removed
- After keyword is deleted, if the tag is empty, it will stay in the platform
- Cannot specify tags to be deleted only
Delete File Location
1. Files should be uploaded to the /keyword_auto_upload folder on the sFTP provided.
2. Once processed, the uploaded file will be moved to the /keyword_auto_upload/backup/yyyymmdd/ sub-folder by our system.
3. Do not upload any files into that sub-folder. It is meant to maintain an archive of operations performed
4. If our processing system encounters an error with the file uploaded, all rows that triggered an error will be exported into a file and placed within the /keyword_auto_upload/errors sub-folder
4a. Error file name will be error-yyymmdd##.txt
5. Rejected keywords will be sent via email
Ad hoc
The Ad hoc operation allows for uploading keywords for a 1-time rank check. These keywords do not get added to any of your profiles. Instead, they are processed separately, and the scraped results are exported out in your standard export format to the sFTP.
NOTE: Ad hoc rank checking has a separate cost as outlined in your work order. In case its not specified, please reach out to your Client Success Manager or support@seoclarity.net for information.
Ad hoc Specifications
- In addition to common file specifications above
- Filename
- [yyyyMMdd##]adhoc-[engine]-[language]-[device].txt
- ## indicates a value from 00 to 99
- Where:
- Engine is the country specific engine to rank check on
- Google.com for USA
- Google.co.uk for UK
- Google.de for Germany
- And so on. In case of questions on the correct Google endpoint for a particular country, please contact support@seoclarity.net
- Language is the 2 digit language code in ISO 639-1 format (https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)
- English is en
- Spanish is es
- French is fr
- German is de
- And so on. For help with the correct language code, please contact support@seoclarity.net
- In case where an incorrect or unsupoorted engine+language+country combination is specified, an error message will result.
- Device is one of the following
- Desktop
- mobile
- Column
- Keyword
- Each row must contain a keyword
- Logic
- All keywords that pass the guidelines are sent to be rank checked immediately
Ad Hoc File Location
1. Files containing keywords to be rank checked adhoc should be uploaded to the /adhoc folder on the sFTP provided
2. Once the rank checking is completed, the extract of ranking URLs will be exported in the agreed-upon standard output format into the /adhoc/output/yyyyMMdd sub-folder
2a. File will be named yyyymmdd##-adhoc-completed.txt
Notifications
An email report is generated after each operation is completed and emailed to tss@seoclarity.net (adhoc ranking will also send to billing@actonia.com). Details of the processing can also be published to an Amazon SNS Topic. Please contact your Client Success Manager or support@seoclarity.net in order to setup the Amazon SNS Topic notification