M: Let's say I start posting things and want to be clever about making sure that anyone who tries to scrape my site for content picks up something that shows that they are being complete asshats. You know, nothing that actually does any damage, but that proves that they grabbed something from me. I need to know a couple things. If I include some sort of personal identifier as a useless tag in my content. For example, if instead of using an officially identified item, such as instead of a span or p tag, I included just an html tag with my name in it and then a matching one, you know, like a tag that said mine and then slash mine. How would most methods of scraping treat that?
G: [Non-text content: thoughts; content_type=thoughts]
G: [Non-text content: reasoning_recap; content_type=reasoning_recap]
G: TL;DR — Scrapers vary. A made-up
HTML tag (e.g., <mine>…</mine>) will usually
survive an HTTP fetch and a DOM parse, but many scrapers strip tags when
they turn a page into plain text or they sanitize HTML. If you want
reliable proof that someone scraped you, use one or
more of these techniques together: a unique visible token, an
image/resource beacon (unique URL per page), and invisible markers
(zero-width chars) that survive text extraction.
Tag nodes; the parser doesn’t remove
them by default.html-to-text tools, some news scrapers): they
typically remove tags and output only the inner text —
so a unique tag name will be lost.Important spec note: truly custom elements following
the Custom Elements spec must contain a hyphen (e.g.,
<david-lillemon-honey>) to be a valid custom
element name. HTML will still accept other unknown tags, but the
hyphen form is conventional and less likely to collide with future real
tags.
Unique visible token (most reliable for
discovery).
Put a short, unique visible phrase or token in the page text (e.g.,
— seed: DL-20251111-7f2a). People scraping for content will
often copy visible text; then you can search the web for that token and
prove it came from your page.
Example:
<p class="byline">This article — seed: DL-20251111-7f2a</p>Unique resource / image beacon (most reliable for
attribution).
Embed an image or resource URL unique to that page. When a scraper
fetches the page and the scraper tries to fetch images (or an
automated preview system does), your server logs will show requests for
that unique URL (IP, user agent, referrer, timestamp). This gives you
server-side evidence.
Example:
<img src="/beacon/honey-DL-7f2a.png" alt="" style="display:none" />Use a unique path per page (e.g.,
/beacon/<page-id>.png) and log requests.
Data attributes or custom element containing a visible
token.
<div data-honey="DL-7f2a"> — attributes will survive
in raw HTML and in DOM snapshots. But many scrapers that only take inner
text will drop attributes. Combine with visible text or beacon for
reliability.
Example:
<article data-honey="DL-20251111-7f2a">
<h1>Title</h1>
<p>Content… — DL-20251111-7f2a</p>
</article>Zero-width / invisible Unicode watermark (good for
stealth detection).
Insert a unique sequence of zero-width characters inside a word (U+200B
zero-width space, U+2060 word joiner, etc.). These characters are
invisible in browsers but often survive simple text extractions and can
survive copy/paste. You can later search for that exact Unicode sequence
in scraped copies. Caveats: some scrapers normalize/strip whitespace or
normalize Unicode; make tests first.
Representation example (showing escapes — don't paste literal invisible chars if you need to inspect):
"example\u200Btoken\u2060DL7f2a"
(you can embed \u200B between letters in a visible word
so humans don't notice it.)
Unique HTML tag name (cute but weak
alone).
Example:
<david-lillemon-honey>Honey</david-lillemon-honey>.
This will usually be present in fetched HTML and DOM, but most
content-extraction pipelines remove tags and only keep text — so the
tag name itself is often lost in reposts. It’s not a
reliable single method for “catching” scrapers, but it’s harmless and
can complement other methods.
Comments / non-rendered HTML (not
reliable).
<!-- honey: DL-7f2a --> — comments are in raw HTML,
but many tools strip them out. Not recommended as a sole
method.
<img src="/beacon/<page-id>.png" style="display:none"/>
and monitor server logs for requests to
/beacon/<page-id>.png. Use unique path per page.<article data-honey="DL-20251111-7f2a">
<h1>My Post</h1>
<p>Short intro — seed: DL-20251111-7f2a</p>
<p>Body text with a hidden zero-width marker between ex\u200Bam\u2060ple word.</p>
<!-- invisible beacon image; unique per page -->
<img src="/beacon/DL-20251111-7f2a.png" alt="" style="display:none;width:1px;height:1px" />
</article>/beacon/<page-id>.png (timestamps, IPs, referrer
headers).日本語 (Grade 1 inline):
日本語:ページにユニークな文字列(例:
DL-7f2a)を入れておくと、後でそれを検索してコピーを見つけられます。 —
Page ni yūniku na moji-retsu (rei: DL-7f2a) o irete oku to, ato de sore
o kensaku shite kopī o mitsukeraremasu.
日本語:画像ビーコン(ユニークURL)を使えば、サーバーログで誰がそれを取りに来たか確認できます。
— Gazō bīkon (yūniku URL) o tsukaeba, sābā rogu de dare ga sore o tori
ni kita ka kakunin dekimasu.
That’s the practical path — visible unique token + beacon + optional invisible watermark is the reliable combo for proving a scrape.