{"node":{"id":"5e8c2932-d47f-4089-ad71-fdeb422f69f7","handle":"5e8c","type":"note","authorName":"Vincent Yeung","intent":"recipe","title":"Pattern: SEO and competitor research with SE Ranking","aiSummary":null,"content":"- Use it to decide where a small site can rank before writing any pages.\n- Get an API key from your SE Ranking account. Keep it in a secret store or an environment variable, never in a note or a chat.\n- How the API is laid out:\n  - The Data API answers research questions: keywords, domains, backlinks. The Project API tracks your own site's rankings over time.\n  - Each area takes a seed (a keyword or a domain), a market (a country's Google) and a limit on rows.\n  - Read the current paths in SE Ranking's own API docs at the time you use it. Don't copy them from an old note.\n- Cost:\n  - You pay per row returned, so the limit is what sets the cost.\n  - Try every new call with a small limit, check the balance, then scale up.\n  - The balance can update late. Wait a moment before reading it.\n  - Save every raw response in the work folder, so a second question doesn't pay for the same rows again.\n- Keywords:\n  - The tight modes (\"similar\", \"questions\") give on-topic variants with volume, difficulty and cost per click.\n  - The loose mode (\"related\") brings back anything loosely connected. It's mostly noise and costs the most. Skip it.\n  - Use narrow seeds. A broad seed pulls in other industries.\n  - Close variants often share one volume figure, so don't add them up.\n  - Check a fixed list's volumes in one bulk call, not one call per keyword.\n- Competitors:\n  - Benchmark against sites the customer can actually buy from, not brands that only rank.\n  - A domain's keyword pull returns its top keywords by traffic, so a big site's small niche rankings can be missed.\n  - If the API's own filter fails, pull and filter on your side, but pull only the 5–6 competitors that matter.\n  - Check a domain's exact address first. A wrong guess comes back empty and still costs a call.\n- Backlinks:\n  - Totals overstate authority. Read the list of linking sites before using a count as a target.\n  - Expect directories, sister sites, bought press releases and spam. Count only the real links.\n  - The strong links come from a public resource others cite, like a dataset or a register.\n- Scripts:\n  - The same kind of call can come back in different shapes, say a list one time and an object the next, or empty when there's no data. Handle all three.\n  - Write each response to disk before parsing it, so a parsing bug doesn't mean paying for the call twice.\n- Check search results against AI answers too. Small specialist sites often get quoted by AI well before they rank on Google.","capturedAt":"2026-11-01T01:52:12.030Z","createdAt":"2026-11-01T01:52:12.031Z","updatedAt":"2026-11-06T04:26:50.750Z","spanId":null,"contributor":null,"audiences":[{"kind":"public","createdAt":"2026-11-06T04:27:07.651Z"}],"fingerprint":"88fd7f2996810367f45999c84d727f9c5292f779edcfaa75a43165eeaa83fc32","revisionNo":"2","structureHash":"26c544a17e5928d49ec015114c4a6ee02c2686580f9358358162f3ce53317447","page":"https://lattris.com/by/b/memories/5e8c2932-d47f-4089-ad71-fdeb422f69f7"},"links":[{"direction":"in","verb":"references","reason":"only if you're researching keywords, competitors or backlinks for a site through SE Ranking, or about to pay for a call you haven't tried small first","hash":"6b06bf21a8b43e15ea9f90c48e2dd41f046fd6657b34177439895739b92128ea","node":{"id":"331896d2-2e9d-46b1-b56c-048a18ee23eb","handle":"3318","type":"note","title":"Patterns: a library","aiSummary":"Index of the author's patterns, one page each, built from the basics. Any pattern can be turned into a skill by asking the AI. So far: the handover, re-alignment, the clean summary, plan-execute-review, saving state for next time, knowledge reconciliation, starting a new codebase, and making an existing module readable. Grows as pages are added.","erased":false,"href":"https://lattris.com/api/lattris/by/b/memories/331896d2-2e9d-46b1-b56c-048a18ee23eb?links=1","fingerprint":"7916c915219b006b717edc7b297d1a807abe38eb305c7baa17ff1e7f0add9bbb","revisionNo":"10","structureHash":"687289243eac53d59127886c143c7b0384c691d49d47431094cb081316c95e03","intent":"recipe","authorName":"Vincent Yeung","page":"https://lattris.com/by/b/memories/331896d2-2e9d-46b1-b56c-048a18ee23eb"}}],"dictionary":{"lattris":"A personal knowledge base — how a person captures what they know as linked blocks they own and control. To understand how this knowledge base works: https://lattris.com/by/4/memories/lattris-a-memory-store-for-your-life-43ff","intents":"Every block can carry an intent — a label for how far you have taken the idea. The scale runs from noticing something to acting on it: noticed (something caught your attention), learning (you are working it out), truth (you are saying this is how things are), decision (you chose a course), action (you did it). Recipe sits outside that scale — it is not a stronger claim, it is a different kind of thing: a procedure, a how-to, a set of steps that ties other knowledge together. Intent is optional — leaving it blank just means you have not labelled it yet."},"instructions_to_ai":"This is a recipe from a personal knowledge base. Read it and apply it to what the person you're talking to is working on. Follow the linked blocks to explore further related topics if it might be useful to the user; open each at its page address. Start by letting the user know what the recipe is about and how it may benefit them."}