Find and fix broken links on the site: check what leads to nowhere
Searching for and fixing broken links on the site means going through all addresses with fixing the response code, and then making a decision for each find: convert to an analogue, fix the link itself or deliberately leave it as an error. We do the detour ourselves and for free, because the number of broken addresses cannot be guessed in advance: sometimes there are ten, sometimes there are a thousand, generated by one failed rule. The most frequent finding in our sample is not a broken menu item, but a broken service file.
bypassing all links, checking service files, redirects, working error page
after a free audit
Price
30
Guarantee
days after project sign-off
bypassing all links, checking service files, redirects, working error page
What are we doing?
3-12
Term of works
working days: depends on the number of finds, not the size of the catalog
free bypass, 1-3 business days, no access required
Before the estimate
robots.txt declares a sitemap, and at this address there is an error
The most common sampling defect
The HTML map for 89 links works, the XML map returns a success code and zero bytes
Measured contrast
position growth: no one published direct dependence
What we do not promise
Free crawl of the site with the search for broken links
This is the simplest test possible: go through all the links and see which ones don't lead anywhere. We do it ourselves and for free, because the result usually decides whether there is work here at all. Accesses are not required - the bypass starts with the site address.
What we measure
Internal links that lead to nowhereFull crawl of the site with the fixation of the response code for each link and with a list of the pages from which they lead to it.
Addresses declared in service filesThe most common finding: robots.txt links to the sitemap, and there is an error at that address. We encountered this repeatedly within the same sample.
Behavior of non-existent addressWhether the site gives a real error or shows a page with a success code - the second case spoils the index quietly and for a long time.
Blank pagesAddresses that match success but contain no content. Formally alive, practically useless - we found sections of the menu with only the title itself.
External linksLinks to other people's resources that have ceased to exist. It's a matter of visitor trust, not the index.
Blank pagesDefault texts left over from the template: descriptions like "Description of Shipping Terms" on the live site.
What you get
A list of all links with a failure response code, indicating where they are linked from.
A separate list of addresses declared in service files that do not work.
List of blank pages and stubs.
A short discussion of the findings, where the conclusions can be disputed.
Timeline: 1-3 working days
Why is it free
Because the bypass is automated and takes hours. And the result is unexpected even for those who are sure that everything is fine on the site.
What's next
Next is the correction: part is closed by transitions, part by updating links, part by filling empty pages. Each block is evaluated separately, and any of them can be waived.
Short form: your contact and site URL
Contract, act and 30-day warranty
Every project gets a written contract: scope, deadlines, amount, acceptance procedure. After delivery — act and invoice, then 30 calendar days of warranty.
Sole proprietor & bank transfer
The contractor is a registered sole proprietor. Payment by invoice with closing documents.
Rights & access — yours
Code, design and materials transfer to you after full payment. Domain, hosting, repository and analytics are registered to you.
Client portal instead of email chains
During the project you get access to a portal: contracts, invoices, acts and project status in one place.
European clients
Among our work — projects for Norway, Bulgaria, Moldova and Spain.
Verifiable numbers
Every case in the portfolio comes with a link to a live site and a technical measurement.
Audit first, then pricing
There is no price list on the site intentionally: the scope of the same work differs multiples between clients.
We say "no" when unsure
If the task isn't ours or the deadline is unrealistic — we tell you upfront.
What affects the price
Why two seemingly identical tasks are priced differently
How many broken addresses reallyThis is the only number from which everything is calculated here, and it is impossible to name it before going around. A dozen addresses - work for one evening. A few thousand — a separate stage for sorting the list and deciding on each group.
Where do they come from?A thousand broken addresses from one failed rule in a template are treated by editing that rule. A thousand broken addresses scattered over texts over ten years are treated only by hand - and these are different in the amount of work with the same number in the report.
Where the links liveThe menu, footer, and card template are just a few places in the code. Links inside product descriptions, blog articles, and banners are as many edits as there are records in the database; here sometimes it is cheaper to put a transition than touch the content.
Who decides the fate of each addressIf you have a person who in an hour says "this product was replaced with this one, and this promotion was just removed", the decision stage takes a day. If there is no such person, we propose options and wait for approval - and this is the longest part of the work, not the technical part.
Access to the serverPermanent transitions are set in the server configuration. Without access to it, there remains an option through the CMS module: it works, but on hundreds of rules it is noticeably slower and has a habit of taking off when the platform is updated.
The pace of changes on the siteA catalog where items disappear every week generates broken addresses continuously. Here, a one-time cleaning gives a short effect, and a regular bypass makes sense - and this is no longer a project, but a quarterly check.
Who it's for
Situations where this service delivers results
Scenario 1 of 5
The site lived for a long time without technical support
Products were removed, categories were renamed, the template was updated - and each such action leaves behind an address that someone still refers to. In the store of irrigation systems for 300 items, we measured exactly this condition: the non-existent address gives an error correctly, that is, the database is intact, and the XML sitemap next to it gives a success code and zero bytes, and only the HTML map with 89 links actually works.
We'll review your situation in a free audit
Scenario 2 of 5
Changed the platform or address structure
The old addresses remained in the issue, in bookmarks, in advertisements and in other people's articles. Part should be converted to analog, part should be honestly given by mistake, and this decision is made by you, not the script. The work here is not in the button, but in going through the list and telling each line where it now leads.
Scenario 3 of 5
You are preparing the site for presentation to an investor, partner, or tender
Technical debt is easier to find by someone else's hands and before the conversation, and not during it. On the Ukrainian SaaS platform, we saw exactly this: robots.txt contains a line with a link to the site map, and the file itself gives an error - as well as three other standard map addresses. Fixed by one file.
Scenario 4 of 5
The catalog is large, and the new one does not appear in the search for a long time
Site crawling is a limited resource, and each address that has nothing on it eats up a portion of it. The limit will be called honestly: cleaning does not add traffic, it stops scattering it, and on a site with a dozen pages the effect is close to zero.
Scenario 5 of 5
One-page site - there is no reason to break
On the corporate site of the consulting company, there is only one internal link in the markup, the entire navigation has five anchors, the document weighs 102.1 KB. It seems like nothing to break. And at the same time, the same defect: robots.txt announces the site map, at the address of which there is an error.
What's included
Complete list of work and what you get as a result
Full site crawl with response code capture for each internal link — so that the list is counted, not judged by eye
A separate check of addresses declared in robots.txt and in service files: these are several lines, and they most often lead to nowhere
Request a known non-existent address with a random suffix - this way you can see if the site gives a real error or shows a "nothing found" page with a success code
Searching for pages that respond successfully and do not contain content - formally alive, actually useless to the person who came to them
Detection of stub texts left over from the template, with a verbatim list: what exactly and at which address the visitor sees
Decisions for each address with a list before the start of work: switching to an analogue, editing a link or a deliberate mistake - the choice is yours, the design is ours
Editing internal links in menus, texts, cards and footers - so that the beating does not return after the first publication
Continuous server-level traversals for addresses worth saving, checking that no two- or three-hop chains have formed
An error page with a place to go: site search and links to main sections, while the response code remains the error code
An event in the analytics to display the error page — otherwise, the next batch of broken addresses will have to be searched again in a complete detour
Re-traversal after corrections with confirmation that the list is empty and with a list of what was intentionally left in error
When this service isn't right
What's not included — so there are no surprises at delivery
Writing content for blank pages is a separate job
Recovery of intentionally deleted pages
Working with other people's sites that link to your non-existent addresses
Forced removal of pages from the search engine index
Process steps
Transparent stages with approval at every step
Total duration:3–12 days
1
Traversing and counting
1-3 working days
We go through all internal links, record the response code of each and the page from which they lead to it. Separately, we collect external links that have ceased to exist. The output is a table, not an impression.
2
Service files and non-existent address behavior
1 working day
We check addresses declared in robots.txt, standard sitemap addresses, and the reaction to a known nonexistent address with a random suffix. Here we catch pages with a success code and empty content.
3
Solutions for each address
1-2 working days
Let's go through the list together with you: what do we convert to analog, where do we correct the link itself, what do we intentionally leave as an error. We group cases of the same type so as not to discuss a thousand lines individually.
4
Edits: links, transitions, error page
2-5 working days
We update internal links, put constant transitions at the server level, make an error page with search and exits to the main sections. We check that the rule did not generate a chain of two or three transitions.
5
Control bypass and transfer
1 working day
Rerun with the same tool: the list should be empty, except for what was deliberately left out. We set the event to show the error page and explain how to read the indexing report further without us.
Did not find your case?
Describe how it works on your side — we will tell you whether “404 and broken links” fits and what it means in your situation. No brief and no call: one question, one answer.
Cases
Tasks and results in numbers — all metrics measured by us
store of automatic and drip irrigation systems, catalog of 300 items
Task
Check the integrity of the site after a long period without technical support.
Solution
Full crawl with response code check, separate check of service files and actual content of section pages.
Result
The basic setup turned out to be complete: a non-existent address gives an error, the HTML sitemap contains 89 working links. Then something else started. The XML map returns a success code and zero bytes. Five pages of services exist in the menu with only a title without text. Two of the five root categories are empty, the manufacturers section shows zero items. Template stubs remained on the combat site: the default page name, the description "my shop", the menu items "Category 1-4", the delivery page with the text "description of delivery conditions". Measurement 01.08.2026.
Ukrainian SaaS platform for rewriting product descriptions
Task
Check official files before public display of the project.
Solution
Running the addresses declared in robots.txt and checking the four standard sitemap addresses.
Result
robots.txt contains a line with a link to the sitemap, and the file itself gives an error - as do the other three standard sitemap addresses. That is, the search engine receives a pointer that leads to nowhere, and this is corrected with one file. At the same time, the platform itself is fast: the first response in 220.6 ms with 140.8 KB of markup, eight public pages. An additional finding: there is no counter on the landing, so registrations are not measured at all. Measured on 07/31/2026.
one-page website of a consulting company
Task
Check the technical condition of the single-page site after launch.
Solution
Bypassing document links and checking service files.
Result
There is only one internal link in the markup, the entire navigation has five anchors; the site is rendered in 254 ms with a weight of 102.1 KB, analytics really work here. The defect is the same as in the previous project: robots.txt declares a sitemap, and there is an error at this address. Plus not a single block of structured data — the search engine receives nothing structured about the company. Measured on 07/31/2026.
Technologies & integrations
What we build on and what it connects to
Stack
bypassing the script with fixing of response codes — counts everything where even one link leads; he will not see an orphan page that no one links to
Screaming Frog - breakdown by response codes with a list of source pages; the free version is limited to five hundred addresses
Search Console, indexing report - shows what Google itself tried to bypass; the data comes with a delay and is a sample, not a complete list
nginx and .htaccess — permanent transitions live on the server; without access there, they move to the CMS module with a loss of speed
301 transition — transfers the address forever; on hundreds of rules, the list is kept in order, otherwise chains appear
custom error page - should return the same code as before; template that renders it with a success code and there is a soft 404
GA4 — an event to display an error page; the meter does not fix anything, it only shows
Integrations
Google Search Console
Bing Webmaster Tools
GA4
Cloudflare
Custom crawl against Search Console report
How this option differs from the alternative
Search Console indexing reportOur approach
What makes the listonly addresses that Google has already tried to bypass itselfall internal links, including those that the search bot has not yet visited
When data appearswith a delay of several days and a sample, not a complete liston the day of the bypass, a full cut at once
Where do broken links lead from?the address is there, the source is not always shownthe source page of each stroke is visible - it is corrected there
Pages without any incoming linkwill find if the address was once in the index or sitemapwill not find: the detour follows the links
What you need to get startedconfirmed rights in the panelsite address
Conclusiongives the search engine a memory of what is no longer on the sitegives a complete list of what is visible from the site
What we need from you
We can't start without this — best to prepare in advance
1The site address — the walkthrough starts without access, and the free part of the work requires exactly that.
2Access to CMS or templates to edit internal links in menus, footers and cards.
3Access to server or hosting panel for permanent redirects and error page.
4The decision regarding the addresses that were and disappeared: lead to analog or honestly leave it as a mistake. It's your decision, we're just showing the consequences of each option.
5One person from your side who remembers the history of the site: what was replaced with what and which sections were closed on purpose.
If something is missing — let us know, we'll help you gather it or do it as a separate task.
FAQ
Most frequently asked questions — with concrete answers
Do broken links hurt rankings?
No one has published a direct dependency, and it would be false to promise growth from fixing them. The damage is different and quite specific: the visitor stops at a dead end, and the bot spends traversing on addresses where there is nothing. In a large directory, the second is more expensive, because it takes longer for new pages to reach the index. There will be practically no effect on a website with a dozen pages - this is the honest limit of this work.
Where to start, if the site is a mess and it is not clear what to grab?
Our advice: not from internal links, but from official files. It's literally a few lines of text, checked in a minute, and that's where the beat most often sits. In two of the three sites we looked under this page, the robots.txt declared a sitemap that does not exist at the specified address. After that, menus and product cards don't look like such a daunting task.
The site returns a nice "nothing found" page - is that enough?
Only if a real error code is given along with it. If an error page comes with a success code, the search engine considers it a normal page and indexes hundreds of copies. This is a silent defect: everything looks correct in the browser, and you can only see it in the response code.
How do you distinguish between a real bug and a soft one?
Requesting an address that definitely does not exist: a random suffix of a dozen characters is added to your domain. Next, we look at three things — the response code, the length of the body, and whether there was a transition somewhere else. A true error returns an error code. Myaka gives a success code and a normal page. The third option, which we also encountered, is the transition to the main page, and for the search engine this is the same soft case.
Isn't it easier to set the transition from all non-existent addresses to the main one?
It's simpler, but it's exactly the same mistake they start with. The search engine interprets the mass transfer of non-existent addresses to the main one as a soft 404 and still throws them out of the index, and instead of an explanation, the visitor receives the main page and does not understand what happened to the link he came from. The transition is made where there is a real analogue: the product was replaced by the next model, the category was renamed. There is no analogue - an honest mistake and a useful search page.
Are blank pages a problem?
Yes, and common. We found a site where five sections of services exist as menu items, and on the pages themselves only a duplicated title; in the same place, two of the five root categories of the catalog give "no goods". Formally, everything works; in fact, a person who has come from seeking sees emptiness. Such pages are either filled or removed from the menu - there is no third working option.
What to do with stub texts from the template?
Clean up first. In the measured store on the battle site, the default page title, description from the template, menu items "Category 1-4" and pages with text like "here will be info" remained. It shows up in the release, your client reads it, and it gets fixed in hours. Compared to analyzing thousands of broken addresses, it is the cheapest part of the work with the most noticeable result.
How often to check and can we do without next time?
Once a quarter for a stable site and after every major structure change. Broken links appear by themselves: removed the product, changed the name of the category, updated the template. In order not to hire someone every time, at the stage of editing, we set an event to show the error page - then you see in the analytics that people are resting somewhere, even before the search engine notices it. The counter doesn't fix anything by itself, but it lets you see the problem without a complete bypass.
Submit your website address and we'll go through all the links and show you the ones that lead nowhere.
In response, a list of broken addresses with response codes and source pages, separate service files, separate empty pages and stubs. If the scan doesn't find anything, that's what you'll hear.
There is no price list on the site on purpose: the same work differs several times over between two clients, and a “from” figure explains nothing in that case. First a free audit — we count your pages, duplicates and speed — then we name the sum and the deadline and fix both in the contract.