Generated on December 17 2025 23:33 PM
Old data? UPDATE !
The score is 49/100
Title
Karol Kuczmarski's Blog
Length : 23
Perfect, your title contains between 10 and 70 characters.
Description
Length : 0
Very bad. We haven't found meta description on your page. Use this free online meta tags generator to create description.
Keywords
Very bad. We haven't found meta keywords on your page. Use this free online meta tags generator to create keywords.
Og Meta Properties
Good, your page take advantage of Og Properties.
| Property | Content |
|---|---|
| site_name | Karol Kuczmarski's Blog |
| type | blog |
| title | Karol Kuczmarski's Blog |
| locale | en_US |
| url | http://xion.io |
| image | http://xion.io/logo.jpeg |
Headings
| H1 | H2 | H3 | H4 | H5 | H6 |
| 1 | 8 | 0 | 36 | 10 | 0 |
Images
We found 3 images on this web page.
1 alt attributes are empty or missing. Add alternative text so that search engines can better understand the content of your images.
Text/HTML Ratio
Ratio : 18%
Good, this page's ratio of text to HTML code is higher than 15, but lower than 25 percent.
Flash
Perfect, no Flash content has been detected on this page.
Iframe
Great, there are no Iframes detected on this page.
URL Rewrite
Good. Your links looks friendly!
Underscores in the URLs
We have detected underscores in your URLs. You should rather use hyphens to optimize your SEO.
In-page links
We found a total of 184 links including 15 link(s) to files
| Anchor | Type | Juice |
|---|---|---|
| Karol Kuczmarski | Internal | Passing Juice |
| About | Internal | Passing Juice |
| Projects | Internal | Passing Juice |
| Archives | Internal | Passing Juice |
| Categories | Internal | Passing Juice |
| Tags | Internal | Passing Juice |
| Old blog | External | Passing Juice |
| Taking string arguments in Rust | Internal | Passing Juice |
| Code | Internal | Passing Juice |
| Rust | Internal | Passing Juice |
| strings | Internal | Passing Juice |
| arguments | Internal | Passing Juice |
| borrowing | Internal | Passing Juice |
| ownership | Internal | Passing Juice |
| Leave a comment | Internal | Passing Juice |
| how to juggle those types | External | Passing Juice |
| 1 | Internal | Passing Juice |
| for all interesting string types | External | Passing Juice |
| ↩ | Internal | Passing Juice |
| Yes, the npm ecosystem is at fault | Internal | Passing Juice |
| Programming | Internal | Passing Juice |
| npm | Internal | Passing Juice |
| Javascript | Internal | Passing Juice |
| open source | Internal | Passing Juice |
| package manager | Internal | Passing Juice |
| security | Internal | Passing Juice |
| Leave a comment | Internal | Passing Juice |
| yet another npm snafu | External | Passing Juice |
| In a nutshell | External | Passing Juice |
| he owes it to the community | External | Passing Juice |
| “you get literally nothing from maintaing a popular package” | External | Passing Juice |
| a good take on the issue | External | Passing Juice |
| Clojure | External | Passing Juice |
| time | External | Passing Juice |
| time again | External | Passing Juice |
| Fallacy of Grey | External | Passing Juice |
| singularly vulnerable | External | Passing Juice |
| like it this way | External | Passing Juice |
| A Haskell retrospective | Internal | Passing Juice |
| Haskell | Internal | Passing Juice |
| functional programming | Internal | Passing Juice |
| type systems | Internal | Passing Juice |
| Internal | Passing Juice | |
| Leave a comment | Internal | Passing Juice |
| Sigma | External | Passing Juice |
| widely considered | External | Passing Juice |
| less common extensions | External | Passing Juice |
| Template Haskell | External | Passing Juice |
| 2 | Internal | Passing Juice |
| Persistent | External | Passing Juice |
| 3 | Internal | Passing Juice |
| 4 | Internal | Passing Juice |
| Elm | External | Passing Juice |
| how awkward | External | Passing Juice |
| composition sugar | External | Passing Juice |
| keep piling up | External | Passing Juice |
| half a dozen compiler extensions | External | Passing Juice |
| one humongous type | External | Passing Juice |
| give up on type systems | External | Passing Juice |
| still argue with it | External | Passing Juice |
| 5 | Internal | Passing Juice |
| 6 | Internal | Passing Juice |
| pretty rich and enticing | External | Passing Juice |
| Type Tetris | External | Passing Juice |
| mistakes of the past | External | Passing Juice |
| also throw them | External | Passing Juice |
| 7 | Internal | Passing Juice |
| Hungarian notation | External | Passing Juice |
| 8 | Internal | Passing Juice |
| 9 | Internal | Passing Juice |
| effects | External | Passing Juice |
| free monads | External | Passing Juice |
| convincingly argue against | External | Passing Juice |
| first-class functions | External | Passing Juice |
| support for anonymous (“lambda”) functions | External | Passing Juice |
| all | External | Passing Juice |
| the | External | Passing Juice |
| numerous | External | Passing Juice |
| examples | External | Passing Juice |
| current state of procedural macros | External | Passing Juice |
| ↩ | Internal | Passing Juice |
| linear types | External | Passing Juice |
| dependent types | External | Passing Juice |
| ↩ | Internal | Passing Juice |
| Clojure | External | Passing Juice |
| ↩ | Internal | Passing Juice |
| the abundance of pretty-printing libraries | External | Passing Juice |
| ↩ | Internal | Passing Juice |
| ↩ | Internal | Passing Juice |
| this project | External | Passing Juice |
| ↩ | Internal | Passing Juice |
| ↩ | Internal | Passing Juice |
| extremely tricky bugs | External | Passing Juice |
| this | External | Passing Juice |
| ↩ | Internal | Passing Juice |
| Add examples to your Rust libraries | Internal | Passing Juice |
| Cargo | Internal | Passing Juice |
| examples | Internal | Passing Juice |
| documentation | Internal | Passing Juice |
| packaging | Internal | Passing Juice |
| Leave a comment | Internal | Passing Juice |
| Rust | External | Passing Juice |
| Tokio | External | Passing Juice |
| facade | External | Passing Juice |
| separate section | External | Passing Juice |
| the official docs | External | Passing Juice |
| doc tests | External | Passing Juice |
| crates.io | External | Passing Juice |
| Unfolding a Stream of paginated items | Internal | Passing Juice |
| Tokio | Internal | Passing Juice |
| streams | Internal | Passing Juice |
| HTTP | Internal | Passing Juice |
| Leave a comment | Internal | Passing Juice |
| most recent Rust crate | External | Passing Juice |
| the Path of Exile’s public stash tabs | External | Passing Juice |
| proposals | External | Passing Juice |
| experiments | External | Passing Juice |
| waiting | External | Passing Juice |
| slightly more complex | External | Passing Juice |
| the usage example in the docs | External | Passing Juice |
| Serde | External | Passing Juice |
| this code | External | Passing Juice |
| within a single function | External | Passing Juice |
| Terminating a Stream in Rust | Internal | Passing Juice |
| async | Internal | Passing Juice |
| Leave a comment | Internal | Passing Juice |
| search for GitHub issues | External | Passing Juice |
| 422 Unprocessable Entity | External | Passing Juice |
| this gist | External | Passing Juice |
| extension trait | Internal | Passing Juice |
| Recap of the gisht project | Internal | Passing Juice |
| gisht | Internal | Passing Juice |
| CLI | Internal | Passing Juice |
| GitHub | Internal | Passing Juice |
| Python | Internal | Passing Juice |
| testing | Internal | Passing Juice |
| Leave a comment | Internal | Passing Juice |
| its first version in Python | External | Passing Juice |
| rewrite it in Rust | External | Passing Juice |
| very unsympathetic | Internal | Passing Juice |
| some evidence | External | Passing Juice |
| functioning prototype | External | Passing Juice |
| shaped | External | Passing Juice |
| numerous iterations | External | Passing Juice |
| both necessary | External | Passing Juice |
| iterators | External | Passing Juice |
| looping over GitHub user’s gists | External | Passing Juice |
| surprisingly tricky | External | Passing Juice |
| really | External | Passing Juice |
| edges cases | External | Passing Juice |
| stuff | External | Passing Juice |
| a copious amount of tests | External | Passing Juice |
| a relatively straighforward manner | External | Passing Juice |
| not a universal implementation | External | Passing Juice |
| more and more gist hosts | External | Passing Juice |
| sprunge.us | External | Passing Juice |
| the real example | External | Passing Juice |
| access the out-of-band interface | External | Passing Juice |
| Cargo build scripts | External | Passing Juice |
| Invoke task runner | External | Passing Juice |
| really fine-tune it | External | Passing Juice |
| replacing | External | Passing Juice |
| completion scripts | External | Passing Juice |
| many | External | Passing Juice |
| Travis | External | Passing Juice |
| partially to blame | External | Passing Juice |
| loads of “fun” | External | Passing Juice |
| transition the code | External | Passing Juice |
| one feature | External | Passing Juice |
| shuffling those bits | External | Passing Juice |
| even by C++ | External | Passing Juice |
| an important issue | External | Passing Juice |
| now | External | Passing Juice |
| a hard error | External | Passing Juice |
| the relevant Cargo feature | External | Passing Juice |
| currying | Internal | Passing Juice |
| partial application | Internal | Passing Juice |
| API | Internal | Passing Juice |
| abstraction | Internal | Passing Juice |
| Leave a comment | Internal | Passing Juice |
| Creative Commons Attribution-ShareAlike 4.0 International License | External | Passing Juice |
| Pelican | External | Passing Juice |
| Flex | External | Passing Juice |
| Alexandre Vicenzi | External | Passing Juice |
Keywords Cloud
hello from example string haskell some code even like text
Keywords Consistency
| Keyword | Content | Title | Keywords | Description | Headings |
|---|---|---|---|---|---|
| haskell | 41 | ![]() |
![]() |
![]() |
![]() |
| string | 36 | ![]() |
![]() |
![]() |
![]() |
| from | 30 | ![]() |
![]() |
![]() |
![]() |
| some | 27 | ![]() |
![]() |
![]() |
![]() |
| like | 27 | ![]() |
![]() |
![]() |
![]() |
Url
Domain : xion.io
Length : 7
Favicon
Very bad. We have not found shortcut icon. Icons are one of easy ways to attract regular visitors to your website more often.
Printability
We could not find a Print-Friendly CSS.
Language
Good. Your declared language is en.
Dublin Core
This page does not take advantage of Dublin Core.
Doctype
HTML 5
Encoding
Perfect. Your declared charset is UTF-8.
W3C Validity
Errors : 0
Warnings : 0
Email Privacy
Great no email address has been found in plain text!
Deprecated HTML
Great! We haven't found deprecated HTML tags in your HTML.
Speed Tips
![]() |
Excellent, your website doesn't use nested tables. |
![]() |
Too bad, your website is using inline styles. |
![]() |
Too bad, your website has too many CSS files (more than 4). |
![]() |
Perfect, your website has few JavaScript files. |
![]() |
Perfect, your website takes advantage of gzip. |
Mobile Optimization
![]() |
Apple Icon |
![]() |
Meta Viewport Tag |
![]() |
Flash content |
XML Sitemap
Missing
Your website does not have an XML sitemap - this can be problematic.
A sitemap lists URLs that are available for crawling and can include additional information like your site's latest updates, frequency of changes and importance of the URLs. This allows search engines to crawl the site more intelligently.
Robots.txt
https://xion.io/robots.txt
Great, your website has a robots.txt file.
Analytics
Great, your website has an analytics tool.
Google Analytics |
Free SEO Testing Tool is a free SEO tool which provides you content analysis of the website.