Как заработать на сайте о Linux. Ключи, скриншоты и программное обеспечение

Разговор на эту тему начался в комментариях к статье «Очень нужны С\С++ разработчики» и чтобы не разводить там оффтопик перенесу несколько своих мыслей на этот счет в отдельный пост.

Итак, можно ли заработать на сайте о Линуксе? Можно, но только не на контекстной рекламе.

Не считаю себя крутым MFA-шником (просьба не путать с Ministry of Foreign Affairs), но примерный ориентир заработка я могу назвать. Каждая тысяча уникальных посетителей будет приносить в AdSense где-то от 0,6 до 1,0 доллара в сутки. Таким образом, если вам посчастливится создать сайт, который будет посещать 10 тыс. линуксоидов каждый день, ваш максимальный доход от контекстной рекламы AdSense составит приблизительно 12 тыс. рублей в месяц. Согласитесь, проще пойти двор мести. Журналисты The H, например, так и сделали.

Если кто-то считает, что можно просто поднять количество посещений, например, до 50 тыс., то таким энтузиастам хочу напомнить, что старейший и самый посещаемый сайт о Линуксе имеет «всего» около 30-35 тыс. уникальных посетителей в день. Это я о нашем любимом Оупеннете, конечно. Это потолок посещаемости по данной тематике.

Кто-то может подумать, что я отрицаю в принципе возможность заработка на этой теме. Вовсе нет, я только о контекстной рекламе от скупердяев из американской фирмы Гугль. Если взять тот же Оупеннет, ознакомиться с прейскурантом, убедиться, что все рекламные места раскуплены и проделать соответствующие калькуляции, то получается умопомрачительная сумма. ;) Я досчитал до ¼ млн в месяц, а потом сбился со счета от волнения. ;)

Ну и напоследок история из жизни...

История из жизни

Когда почтальон принес первый чек из Google, я открыл конверт и увидел сумму, то моментально догадался, что магнатом Адсенса мне не стать. А потом еще больше охренел, когда узнал, что другие-то вполне успешно зарабатывают. Некоторые — от килобакса в день и выше. Мне стало интересно: что я делаю не так?

Чтобы ответить на этот вопрос, я написал программку MFA Analizer, которая учитывает три фактора: количество показов, конкуренцию и стоимость клика. Программа отсеивает мусор и затем сортирует ключевые слова в порядке привлекательности в плане заработка по интегральной оценке. Уровень отсеивания мусора подбирается опытным путем. Логично его установить на уровне рентабельности.

Ну так вот, написал программку и прогнал для теста коммерческую тематику — одежду. Почти все ключи однозначно признаны потенциально выгодными. См. скриншот, картинка кликабельна.

Как заработать на Linux

Потом я загрузил ключи, связанные с Линуксом. Ничто не предвещало беды...

Прибыль от Linux

Как вам, например, ключ «red hat»? 10 долларов за клик. По новому курсу, 400 рублей падает в копилку вебмастера каждый раз, когда кто-то кликает по баннеру. Как бы неплохо. Еще Гугль берет комиссию, но все же... А потом посмотрите на уровень конкуренции — 0,01. Это значит, что вероятность того, что кликнут по объявлению именно на вашем сайте практически нулевая.

В общем, нажимаю кнопку фильтрации и получаю список потенциально доходных ключей по Линуксу. Вот как он выглядит:

На Linux заработать нельзя. Скриншот с доказательством

На этой оптимистичной ноте позвольте и откланяться.

Оценка: 
Средняя: 5 (1 оценка)

Комментарии

Рекламщик хуже говна.

Оценка: 
Средняя: 3.5 (4 оценки)

На айтишниках много не заработаешь, особенно на Российских айтишниках)

Оценка: 
Пока без оценки

Но ведь хабру это как-то удается?

Оценка: 
Пока без оценки

Меня немного обижает внешний вид окошек)

Оценка: 
Средняя: 4.5 (2 оценки)

А что с ними не так? Вы смысле, обижает, что это Вантуз? Так в Debian была старая версия Mono и кнопки, которые должны быть в правой части окна, оказались вне формы. Глюки-с.

В Убуке немного лучше, но все равно кнопки уехали, а для столбцов не работает resize.

MFA Analizer — анализ ключевых слов для контекстной рекламы AdSense

Если речь о некрасивом дизайне, то могу ответить, что программа написана за 15 минут для проверки гипотезы и дальнейшее использование не предполагалось.

Оценка: 
Пока без оценки

+ Можно попросить исходники, (ну или бинарник) MFA Analizer? В открытых репах не нашел (
+ Была бы интересной статья про него. Я понимаю, что, возможно, программуленька простенькая. Но я вот сходу не представляю как такое написать.

Оценка: 
Пока без оценки

Да исходник-то можно, но я подозреваю, что Вы переоцениваете возможности программы. Она не собирает ключи сама, а использует данные, предоставленные AdWords. MFA-шники собирают ключи, количество просмотров и конкуренцию и потом колдуют над ними в Excel или Calc. Сначала сортируется первая колонка и отсеивается мусор, потом вторая, потом третья, из остатка выбираются самые привлекательные ключи. Я пытался сделать то же самое в Calc, но задолбался читать, как удалять строки по условию, суммировать столбцы и решил, что быстрее решить задачу без Calc.


using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
using System.ComponentModel;

namespace Mfal
{
public enum columnsDef : int
{
Keyword = 1,
Views = 3,
Competition = 4,
Price = 5
}

public partial class MainForm : Form
{
private Queue sourceRows;

public MainForm()
{
InitializeComponent();

sourceRows = new Queue();
}

void MenuFileOpenClick(object sender, EventArgs e)
{
OpenSourceFile();
KeywordsView.Focus();
}

private void OpenSourceFile()
{
OpenFileDialog of = new OpenFileDialog();
of.Filter = "Google AdWords CSV file|*.csv";

if (of.ShowDialog() != DialogResult.OK) {
MessageBox.Show("Ошибка открытия файла " + of.FileName, «Ой, что-то не так», MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}

string file = File.ReadAllText(of.FileName);

KeywordsView.Rows.Clear();

string[] lines = file.Split('\n');
int lineNum = 0;

foreach (string line in lines)
{
if (line == "" || lineNum++ == 0) {
continue;
}

string[] cols = line.Split('\t');

string cKeyword = cols[(int)columnsDef.Keyword];
string tempViews = cols[(int)columnsDef.Views];
string tempCompetition = cols[(int)columnsDef.Competition].Trim('"');
string tempPrice = cols[(int)columnsDef.Price].Trim('"');

if (tempViews == "" || tempCompetition == "" || tempPrice == "") {
continue;
}

int cViews = int.Parse(tempViews);
float cCompetition = float.Parse(tempCompetition);
float cPrice = float.Parse(tempPrice);

string s = "";
foreach (string c in cols)
{
s += "["+c+"]";
}

KeywordsView.Rows.Add(cKeyword, cViews, cCompetition, cPrice);
}

KeywordsView.Sort(KeywordsView.Columns[2],ListSortDirection.Descending);
foreach (DataGridViewRow row in KeywordsView.Rows)
{
sourceRows.Enqueue(row);
}
}

void MainFormLoad(object sender, EventArgs e)
{

}

void ButtonSearchKeywordsClick(object sender, EventArgs e)
{
SearchKeywords();
KeywordsView.Focus();
}

private void SearchKeywords()
{
int minViews = int.Parse(inputViews.Text);
float minCompetition = float.Parse(inputCompetition.Text);
float minPrice = float.Parse(inputPrice.Text);

HashSet rows = new HashSet();

// Фильтруем по количеству просмотров
foreach (DataGridViewRow row in KeywordsView.Rows)
{
int nViews = (int)row.Cells[1].Value;

if (nViews < minViews)
{
rows.Add(row);
}
}

// Фильтруем по конкуренции
foreach (DataGridViewRow row in KeywordsView.Rows)
{
float nCompetition = (float)row.Cells[2].Value;

if (nCompetition < minCompetition)
{
rows.Add(row);
}
}

// Фильтруем по цене
foreach (DataGridViewRow row in KeywordsView.Rows)
{
float nPrice = (float)row.Cells[3].Value;

if (nPrice < minPrice)
{
rows.Add(row);
}
}

foreach (DataGridViewRow row in rows)
{
KeywordsView.Rows.Remove(row);
}
}

void RateViewsAndPriceClick(object sender, EventArgs e)
{
RateViewsAndPrice();
KeywordsView.Focus();
}

private void RateViewsAndPrice()
{
for (int i = 0; i < KeywordsView.Rows.Count; i++)
{
int nViews = (int)KeywordsView.Rows[i].Cells[1].Value;
float nPrice = (float)KeywordsView.Rows[i].Cells[3].Value;

KeywordsView.Rows[i].Cells[4].Value = Math.Round((float) nViews * nPrice);
}
KeywordsView.Sort(KeywordsView.Columns[4],ListSortDirection.Descending);
}

void RateIntegralClick(object sender, EventArgs e)
{
RateIntegral();
KeywordsView.Focus();
}

private void RateIntegral()
{
for (int i = 0; i < KeywordsView.Rows.Count; i++)
{
int nViews = (int)KeywordsView.Rows[i].Cells[1].Value;
float nCompetition = (float)KeywordsView.Rows[i].Cells[2].Value;
float nPrice = (float)KeywordsView.Rows[i].Cells[3].Value;

KeywordsView.Rows[i].Cells[4].Value = Math.Round((float) nViews * nCompetition * nPrice);
}
KeywordsView.Sort(KeywordsView.Columns[4],ListSortDirection.Descending);
}

void ButtonResetFilterClick(object sender, EventArgs e)
{
KeywordsView.Rows.Clear();

foreach (DataGridViewRow row in sourceRows)
{
KeywordsView.Rows.Add(row);
}
}

void MenuKeywordsToBufferClick(object sender, EventArgs e)
{
if (KeywordsView.SelectedRows.Count == 0)
{
MessageBox.Show("Нет выделенных ключей для копирования в буфер.","Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}

string keys = "";

foreach (DataGridViewRow row in KeywordsView.SelectedRows)
{
keys += row.Cells[0].Value + "\n";
}
keys = keys.TrimEnd('\n');
Clipboard.SetText(keys);
}
}
}

Оценка: 
Средняя: 5 (2 оценки)

На вечных ссылках можно больше заработать, благо на компьютерную тематику раскупают очень хорошо.

Оценка: 
Пока без оценки

Можно. И на заказных обзорах. Миллион возможностей. Поэтому и написал:

Кто-то может подумать, что я отрицаю в принципе возможность заработка на этой теме. Вовсе нет, я только о контекстной рекламе от скупердяев из американской фирмы Гугль.

Оценка: 
Пока без оценки

Комментировать

Filtered HTML

  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.