📜 ⬆️ ⬇️

One small project: the story continues, or a service for people

In the first article of the series, we talked about how the idea of ​​creating the Web Optimizator service was born. Now I want to touch on the first months of its growth and development and the problems that I faced (or, on the contrary, by luck, I did not). So let's go.

WebSiteOptimization



At the very end of last year, the idea to create an online tool to test the speed of a website loading from a purely imaginary entity became increasingly material. For a couple of days, a prototype was written that analyzed a couple of sites and could tell which techniques they were applied to and what seemed more important at that time which techniques needed to be used to speed up the site loading. However, his conclusion was rather stingy and wretched. It had to be somehow modified.

The website output was taken as the basis for the initial conclusion, which also offers a number of tips, however, they are all in English and have not been updated for a long time.
')
Mark one: do not be afraid to explore your industry (subject area), take the best of existing solutions and improve them. If you succeed (and how else could it be otherwise), then you can be the best.

Information vacuum



And the first problem I ran into was (no, do not think, the analyzer algorithm worked quite accurately, and the technical problems that arose with it are not worth a detailed consideration) lack of information on optimization techniques. It was, indeed, some kind of information vacuum. The site analysis service could not give out multi-page recommendations, and it was not possible to give short advice without reference to its detailed description and, more importantly, to technical implementation.

To this end, in January (in parallel with debugging the technical discrepancies of the mechanism and some of its improvements), several more articles were published concerning the practical side of the issued advice. There was also a selection of articles in Russian and English (the latter were all translated a little later), which fully disclosed the stated subject matter.

Label two: the project can not be started in a vacuum . If you are doing something, be sure to focus on what has already been done. If very little is done, do not be afraid to fill the void with yourself: you can hardly think of something worse than void (in the marketing sense).

Laptop retreat



Last time I talked a lot about how the idea itself was born, but did not say a word about the role of the laptop. At the moment, the laptop is for me the main working tool: I can work on the train, on the bus, on the plane, on the seashore and even in the office, finally. At Habré, a lot has been said lately about freelancing and co-working, a laptop is an integral part of them, because it allows you to work at any convenient time in any convenient place.

I note that for a standard office worker a laptop may be just as important as for a freelancer. The question is: when will you buy a laptop and at what price will I set aside a little (this is a topic for a separate discussion). For me, two factors were decisive: that he was comfortable in work and paid for the money spent on him. With a laptop, I can work while I'm on the train or bus, while I'm waiting at airports or train stations. On average, this waiting time is converted into understandable money, which has already covered all costs for a long time. It's very simple: any place where I have a laptop (and WiFi (and electricity)) turns into a working one.

Label three: buy tools that will save you time or money , if they pay off at least twice. Do not be afraid to invest wisely in your lifestyle - if you do it wisely, they will return a hundredfold.

Time management



Perhaps I will say a banal thing, but divide your time to perform individual tasks. It is impossible to do everything at once. To be precise, at the same time you can do only two or three things with the maximum concentration, while, in the aggregate, everything will be done faster than with parallel execution of many tasks.

However, there are nuances. Many probably wonder: how can you keep up and work in the office, and engage in some projects, and have a personal life? I will answer with the following example: about 80–85% of all my articles and translations are written on the road. This is surprising, but I practically did not spend that “working time” on them. I can freely devote the weekend to myself (to any girl, beloved boyfriend, beloved dog — cross out the unnecessary) without losing the working pace at all. Here you can formulate another simple rule:

Fourth label: combine independent activities , you can combine several cases without losing the quality of any of them. In this case, life will be more complete and interesting, and you will have more time to do it. And no stimulants - it is only in self-organization and awareness.

PS This article is 90% written in the train.

Pro ratings



But back, in fact, to the optimizer . The only problem that was, is and probably will be in the future is the creation of the most objective index of “optimization”. For example, I’ll say that Google made various corrections to PageRank on average twice a day during the last year. Only in this way were the engineers able to maintain its relevance.

In my case, the index (“Integral Assessment”) has also been revised many times. Now the service is running the fifth edition, in which many very different weight adjustments have been made, however, this still does not guarantee that it cannot be “hacked” - it just provides the most adequate estimate for the average site.

The very concept of “optimized” site is very strongly connected with its quality and the amount of information provided. As it is very difficult to assess graphic information (white noise or a currency fluctuation graph), it is equally difficult to assess the quality of a site (take at least cys.ru service), so the discussion about the validity of those other criteria when assessing the parameter in question is better to take out of this note. .

Mark five: when inventing a bicycle, assemble it from spare parts , rely on the experience of predecessors, because besides it there’s simply nothing to rely on :)

Pro utility



Somewhere a year ago on Habré an article about a small American startup - a free ad service (if someone shares a link - I will be very grateful), skipped off. Its main idea was that the organizers did not grab the stars from the sky, and consistently did the service, which would be needed both by themselves and users. They took into account, practically, all the wishes and focused on the final consumers.

This story, it seems to me, is the basis of what is now called the Web 2.0 approach: the service is done for users, not with the goal of making money, and after that it becomes known and income generating creators. In general, when creating and improving Web Optimizator, I was guided by that. At the moment, the service even has a collection of user wishes with rankings by their popularity.

Label six: if you are not involved in “black SEO”, then the only way to success is to create services that will be convenient to use .

Little about the structure



I would like to share the current server architecture, because the only miscalculation after its development turned out to be that the actual load is 2 orders of magnitude less than planned (now, about 0.5-1%). But it only provides good growth potential.

So, since the process of analyzing the download site itself is quite time-consuming (it is necessary to download and analyze each file from a given site), it was decided to cache all the results so that the most frequently requested resources are not checked once again. SSI directives were chosen as the caching platform (yes apologists for php + eAccelerator + memcached will forgive me) in order not to access the database at all unless absolutely necessary. As a result, most of the site is now static pages that are stored for one month and then deleted (to minimize the load on the file system).

All dynamic parameters are recalculated once every 10 minutes or 4 hours, and not every time a page is requested (when a page is requested, it is not even checked whether the cache should be updated or not, the cache is recalculated). Thus, the only bottleneck at the moment is precisely the kernel, the site loading analyzer. If someone has a desire to delve into its structure in order to speed it up a bit at the server level, you are welcome.

And just thanks



Thank you all for the warm feedback and support for the project. I have probably received a hundred letters and messages with words of gratitude. What really was unpredictable was the reaction of the webmasters community. You all did a lot more for the service than I did. Only thanks to your support for the last month:



If you have any thoughts about additional tools for the service, or you can offer some server resources, please write in private. I think we have something to discuss.

If you just like the service, and you would like to do something useful for it, but do not know how - just put a button in your blog and (or) write your opinion about the project. It'll be enough :)

Web Optimizator

To be continued...

PS If someone has a desire to thank him financially (extremely rarely this still happens :) - details are given here .

Source: https://habr.com/ru/post/25812/


All Articles