El Pilón Criollo
A family-run Puerto Rican steam-table kitchen on La Avenida with no website at all — and a lapsed domain that now serves an offshore gambling site under their own name. Built on spec: four bilingual pages, a full schema layer, and a domain plan the owner actually holds.
This one wasn't commissioned. I found the restaurant, researched it, and built the site on spec before asking for the work — so what follows describes a build and a set of findings, not a result.
Every business fact here was verified against the restaurant's own managed ordering page and confirmed with the owner. Nothing on this page is a performance claim. There is no traffic data, because it isn't live on their own domain yet.
No website. And their name pointing at a casino.
El Pilón Criollo has fed North Clinton Avenue for years — 4.5 stars across more than a thousand Google reviews, 4.7 on Facebook. What they didn't have was anywhere online that they controlled.
- No website at allTheir entire web presence was Instagram, Facebook, Yelp, DoorDash and a third-party ordering page — every one of them a platform that owns the audience, sets the rules, and can change either.
- The obvious domain now serves an offshore gambling site
elpiloncriollo.comlapsed and was picked up by someone else. It currently runs a “situs toto online” casino page — spoofing Etsy's layout, in Indonesian, under the restaurant's name. Anyone who Googles them and clicks the obvious address lands there. - Their own Instagram captions list the wrong phone numberPost after post says 339-7930. Google, Yelp, DoorDash and their ordering page all say 338-7930. Every caption is sending some number of calls into the void.
- The hours on the listings disagree with each otherDifferent sources gave different days and different closing times. Getting a straight answer took the restaurant's own managed page plus the owner.
- A whole line of business is invisibleThey cater seven days a week — including the two days the counter is closed. It appears nowhere except a flyer photo, while the single strongest review they have opens with “Our go-to for catering.”
- The strongest asset in the business isn't used anywhereA commissioned mural covers the exterior wall: the black cinderblock cracks open onto Puerto Rico — mountains, a jíbaro's casita, a flamboyán in full red, and a pilón painted at the left edge. It exists on a wall on La Avenida and nowhere else.
The competition barely exists online.
Rochester has the second-largest Puerto Rican community outside New York City, and North Clinton Avenue — La Avenida — is its historic main street. The Puerto Rican Festival runs down it.
The one competitor with a site runs on a page builder with PDF menus and no meta description. A real HTML menu with structured data outranks that without trying.
The competitor is on Culver Road. El Pilón is on La Avenida. Heritage can be claimed by anyone. That address can't.
Don't design a restaurant website. Design the counter.
The first direction came back as the median restaurant template — hero with overlay, a row of four cards, testimonial strip. Paste a sushi bar into that skeleton and nothing breaks, which is the problem.
The “flag ribbon” running across every page was red, marigold and green. The Puerto Rican flag has no green in it. Red, gold and green is the Mexican palette — the wrong country's flag, on every page of a Puerto Rican restaurant.
The second direction came from how the place actually works. El Pilón is cafeteria-style: the food sits hot in stainless pans and you point at what you want, then pick your size. So the site is the counter.
- The size decision is the spinePequeño $8 · Mediano $13 · Grande $15 isn't a table cell — it's the structure the whole page hangs on, because it's the actual decision made at the actual counter.
- The address is the headline“973 N Clinton · El Camino · La Avenida” is the hero. The location is the brand.
- The mural is the hero imageWith a stainless pan of mofongo below it, so food sits above the fold.
- The flag ribbon correctedRed, white and blue.
- The menu is a line of pansYou scroll down it, rather than reading a grid of cards.
The test it had to pass: the layout should look broken if you pasted another restaurant into it.

Four pages, two languages, built to be read.
A persistent EN/ES toggle switches the entire site and persists across pages. Both languages live in the served HTML, so there's nothing to fetch and nothing to translate on the fly — and with JavaScript disabled the site still works and every page is still reachable.

The 4.5 stars across 1,007+ reviews are real, and marking them up would be easy. It's left out on purpose: Google doesn't allow self-serving review markup — a business rating itself — for LocalBusiness rich results, and misusing it risks a manual action.
The visible rating cards link out to the real Google, Facebook and Yelp listings instead. Same social proof, compliant pattern, no stars that were never going to show.
The details that decide whether someone finds a locked door.
A restaurant site is mostly a promise about where to go and when. Every fact was verified against the restaurant's own managed ordering page and confirmed with the owner before it shipped.
- Hours: Tue–Sat 10:00–5:00, Sunday and Monday closedThe first design comp had Wednesday closed and Sunday open — wrong on the days, not just the times. As drawn, it invited people on the two days the restaurant is dark and turned them away on a day it's open.
- Phone: (585) 338-7930The 339 in their own captions is a typo in the captions, not in the listings.
- Address: 973 N Clinton AveOne stale listing still shows 1038.
- Geo: 43.176661, −77.6133961In the schema, so the map pin is exact.
Hours now live in the visible table, the home page fact card, and openingHoursSpecification in the schema — and the schema block was left deliberately empty until the owner confirmed. Publishing wrong hours to Google is worse than publishing none.
Before → after, line by line.
- Web presence
- None — platforms only→four owned pages
An address of their own, rather than five accounts on other people's platforms.
- Their domain
- Offshore gambling site→a domain the owner holds
Registered in her name, on her card, with her email.
- Language
- English-only listings→fully bilingual EN/ES
132 matched pairs, both languages in the served HTML.
- Structured data
- None→Restaurant + Menu
Hours, geo, cuisine, price range and service area, all machine-readable.
- The menu
- A photo of a printed sheet→23 readable items
Real HTML with prices, in structured data across five sections.
- Catering
- Invisible→its own section
With the review that sells it, and the seven-day availability spelled out.
- Daily specials
- Instagram only→on the menu page
Photos only, no prices — so nothing goes stale that the kitchen has to maintain.
- Mobile navigation
- Comp hid the links below 640px→drawer
The phone visitor gets the whole site, not a truncated one.
- The mural
- On a wall, nowhere else→the hero image
The single most distinctive thing they own, finally doing work online.
- Phone number
- 339 in captions, 338 elsewhere→one number, everywhere
Every call routed to a phone that rings.
A business with no site is a business with nothing to quote.
People ask ChatGPT, Gemini and Google's AI overviews “where's good Puerto Rican food in Rochester?” Those systems answer from sources they can parse. A restaurant that exists only as a Yelp entry and an Instagram grid gives them almost nothing — and a domain that resolves to a casino page gives them something actively wrong.
A Restaurant entity with a verified address, geo coordinates, confirmed hours, cuisine, price range and service area; a Menu graph with five sections and every item and price; and an OrderAction pointing at the real delivery platforms.
The result is a business an answer engine can identify, quote and attribute — instead of an unlabelled page, or worse, the wrong page.
The website is the easy half.
The reason this became a conversation at all is that the owner said she was looking for a site she owns. The hijacked domain is exactly why that instinct is right.
- Register the domain in the owner's name, on her card, with her emailEven when someone else does the clicking. A designer holding the registration reproduces the precise problem she's trying to escape.
- Don't buy the hijacked domain backSquatters price on desperation, and the money goes to an offshore operator. A clean variant costs a few dollars a year and carries no history.
- The Google Business Profile stays in her accountWith the designer added as a manager — not the other way around.
- The site is static and in version controlIt can move hosts in an afternoon. Nothing here is a hostage.
Built, verified, and honest about what's unproven.
What's done: the site is built, every business fact is verified, both schema blocks validate, and the whole thing is in version control.
- A domain she ownsThe whole point, and the reason the conversation started.
- Real photographyThe current food images come from the restaurant's own Instagram grid at roughly 719px. Fine for layout; thin for a full-width hero. On a design that frames every dish in a stainless pan and points your eye straight at it, this is the weakest link — and it's a camera problem, not a code problem.
- The muralist's nameThere's a signature on the wall. The credit line on the About page is a placeholder until the owner confirms who painted it. In a neighbourhood like La Avenida that's a relationship, not a footnote.
No traffic numbers, no ranking claims, no before-and-after graph. Those get written when Search Console has something real in it.