LiveMalex Fotografie
Why a photographer stayed invisible despite having an SEO plugin
Malex Fotografie had a good-looking website with nine pages for individual cities. Still, Google found little more than the homepage. The cause was not the marketing but the foundation: two add-ons cancelled each other out, and the city pages were copies of the homepage. I fixed that in roughly 50 hours. On a phone the page now appears in under 2.5 seconds instead of 8.3.
Visit the project
Verified numbers
- Time until the page appears on a phone (real visitors)
- 8.3 s → under 2.5 sSource: Closing documentation, stages E1.3 / E3.1, June 2026
- The same time in a lab test
- 11.6 s → 7 sSource: Closing documentation, stage E3.1, June 2026
- Invisible dead weight in the homepage code
- 77 → 12 occurrences (−84%)Source: Closing documentation, stage E1.2, June 2026
- City pages with their own content
- 0 of 9 → 12 of 12Source: Closing documentation, stage E2.1, June 2026
- Pages whose questions and answers Google can read directly
- 0 → 14Source: Closing documentation, stage E2.2, verified via Google Rich Results Test
- Stages completed
- 12 of 12Source: Closing documentation, June 2026
Starting point
The website ran on WordPress. It looked good and had everything people think local search needs: an add-on for Google, nine pages for individual cities and plenty of sample photos. Still, Google showed little more than the homepage. The causes lay beneath the surface. More marketing would not have changed that.
Outcome
All twelve planned steps are complete. On a phone the homepage appears in under 2.5 seconds instead of 8.3. The page code carries 84 percent less invisible dead weight. Nine almost identical city pages became twelve with their own text. The client has a complete guide and can run the site without me.
The real problem was not the marketing
Alex photographs weddings around Regensburg. His website looked good. It had an add-on that is supposed to help with Google, and nine pages for the places where he works. Still, people outside his own city could hardly find him.
At this point most people simply do more: more text, more search terms, perhaps ads. Here that would have been money burned. First, three things in the foundation had to be repaired. None of them was visible from outside.
First finding: Two add-ons cancelling each other out
Two add-ons for the same purpose were running on the site. Unnoticed, one of them decided everything Google learns about the site. The other output nothing at all. Yet that second one was where all the settings were maintained. None of it ever reached the page.
I moved the settings into one of the two and switched the other off. Since then there is only one place where everything is controlled.
For the technically minded: Yoast versus Rank Math
Yoast and Rank Math ran at the same time. Yoast controlled robots.txt, sitemap and meta tags, Rank Math produced zero output in the markup. The Yoast settings were exported, imported into Rank Math, and Yoast was deactivated. Since then one source for robots.txt, sitemap, meta tags, schema and redirects.
That is why a review comes first and not a list of tasks. Without that finding, the 49 hours that followed would have achieved nothing.
Second finding: Every section was in the code three times
Every section of the page existed three times: once for a large screen, once for a tablet and once for a phone. Two of them were always hidden. All three were loaded anyway. That made the page heavy and slow.
It could only be fixed by hand. Page by page I removed the duplicate versions and set up the remaining one to fit every device. On the homepage, 12 of 77 hidden spots remained. That is roughly 84 percent less dead weight.
You do not get to zero, and that is not the goal. The rest comes from third-party add-ons and is normal for a WordPress site.
For the technically minded: 77 times display:none
Every section existed as three separate Kadence blocks for desktop, tablet and mobile, two of them hidden with display:none. The blocks were merged and configured through the built-in breakpoints. Result: 12 instead of 77 occurrences on the homepage, 13 on a city page.
Third finding: When the faster image beats the nicer one
At the very top of the homepage, several large images took turns. That alone cost about 3.5 seconds. The comparison was clear: the homepage took 8.3 seconds on a phone. A city page without the rotating images took 4.8 seconds.
I tried three options and chose a single, fixed image. The reasoning is in the guide: on a phone people swipe on quickly to the actual content. An image that is there at once helps more than rotating images that appear late.
That contributed most to the page now appearing in under 2.5 seconds instead of 8.3 for real visitors.
Fourth finding: A mistake I found in my own final review
Google can learn more about a business when the site tells it in a fixed form: address, places, owner, frequent questions. I set that up for the whole website.
During the final review I noticed: on the city pages this information was invalid. Required details were missing there. On the homepage everything had worked. I had not checked the city pages one by one.
I added the missing details and measured again with Google’s own test tool on the homepage and two city pages.
For the technically minded: the schema bug
A connected graph of LocalBusiness, Person and FAQPage across 14 pages, linked through consistent @id anchors. Rank Math Free only outputs the full LocalBusiness schema on the homepage, so required fields were missing on the city pages. The supplementary snippet was extended and re-verified with the Google Rich Results Test.
I tell this because this is exactly where work differs. A final review that only confirms what you built yourself is not a review.
What the client holds at the end
Not just a faster site. He has a guide. For every step it records what was there before, what is there now and what remains open. Every setting is explained. There is also a separate list of tasks for him and for me.
That is deliberate. A website only its developer understands makes you dependent. That is not a result.
Frequently asked
- Why does an SEO plugin sometimes have no effect at all?
- Because a second add-on can work against it. Here Yoast and Rank Math ran at the same time. Unnoticed, Yoast decided everything Google learns about the site. Rank Math output nothing at all. Every setting maintained there never reached the page. As long as that is the case, everything else is wasted.
- Roughly what does it cost to repair a website for Google?
- This project took around 50 hours in twelve steps, from finding the causes to the guide. The effort depends heavily on how much legacy the site carries. That is why a review always comes first. It names the scope before you commission anything.
- Why isn't it enough to swap the city name on a city page?
- Because Google recognises them as copies. Here nine city pages were almost identical copies of the homepage. You could tell because they all showed the same 30 images. Google did list them, but behind the homepage. Only its own text with a real connection to the place turns a city page into one that is found in its city.
- Can I maintain the site myself after the project?
- Yes. The project ends with a guide. For every step it records what was there before, what is there now and what remains open. Every setting is explained. There is also a separate list of tasks for the client and for me.