I run a dog-name site. A few weeks ago a reader emailed asking the obvious question: "Do you have one for cats?"

I didn't. But I had a fully built PHP content site sitting right there — browse names by breed, by origin, by color, by size; a name-detail page for every entry; clean URLs all the way down. Cats are just dogs with a different attitude and a smaller breed list, right? I figured I'd clone the whole thing in an afternoon.

It did not take an afternoon. And the part that ate the time wasn't the data or the templates — it was the routing layer. This is the story of what doesn't copy over when you "just clone" a content site, written down so the next person (or future me) doesn't repeat it.

The shape of the thing

Both sites are plain PHP — no framework. Every page is a file under pages/, and a clean URL gets rewritten to it with a query string. So /breeds/letter/a/page/2 becomes pages/breeds.php?letter=a&page=2. Nice URLs for users and search engines, ordinary PHP underneath.